如何判断一个对象实现了某个接口

ArkTs里的instanceof关键字不同于java,只能判断是否是某个class,无法判断是否实现了某个interface。ts语法里可以用in关键字根据成员变量来判断,但是ArkTs不允许使用in关键字。请问该如何实现?

HarmonyOS
2024-05-11 14:39:23
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
是潘达不是胖达

无法对接口进行类型判断,可以使用as进行类型转换后,判断是否有对应属性,来判断具体接口类型,示例代码如下:

interface A { 
  name: string; 
} 
 
interface B extends A { 
  age: number; 
} 
 
interface C extends A { 
  sex: string; 
} 
 
function test(obj: A) { 
  let some = obj as B; 
  if (some.age !== undefined) { 
    console.log(some.age + ‘’) 
  } 
} 
 
let obj: B = { 
  name: ‘1’, 
  age: 2 
} 
 
test(obj);
分享
微博
QQ
微信
回复
2024-05-12 21:55:34
相关问题
如何判断对象某个interface的实现
838浏览 • 1回复 待解决
如何判断一个对象是否在对象数组中
2118浏览 • 1回复 待解决
判断类是否实现接口
234浏览 • 1回复 待解决
利用native接口实现一个圆角矩形
1466浏览 • 1回复 待解决
如何判断JS对象中是否存在某个
2072浏览 • 1回复 待解决
PersistentStorage如何持久化一个对象?
2680浏览 • 1回复 待解决
如何判断一个数组不为空?
300浏览 • 1回复 待解决
如何调用并测试一个wifi接口
6132浏览 • 1回复 待解决
如何定义一个未知类型的对象
623浏览 • 2回复 待解决
怎么判断一个类型是stirng
612浏览 • 1回复 待解决
如何实现一个折叠组件
780浏览 • 1回复 待解决
如何在Native侧构建一个ArkTS对象
1951浏览 • 1回复 待解决
判断一个参数是不是Resource类型
281浏览 • 1回复 待解决
HarmonyOS 如何实现一个转圈效果
411浏览 • 2回复 待解决
如何实现一个下拉菜单?
299浏览 • 1回复 待解决
ArkTS如何实现一个底部弹窗?
557浏览 • 1回复 待解决
HarmonyOS 如何实现一个遮罩层
206浏览 • 1回复 待解决
如何判断一个字符是不是数字?
289浏览 • 1回复 待解决
如何实现一个带动画的弹窗?
293浏览 • 1回复 待解决
HarmonyOS 如何实现一个气泡聊天框
191浏览 • 1回复 待解决