如何判断对象是某个interface的实现

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

HarmonyOS
2024-05-23 22:34:05
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
一杯生椰

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

interface A { 
  name: string; 
} 
  
interface B extends A { 
  age: number; 
} 
  
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-24 22:07:38
相关问题
如何判断一个对象是否在对象数组中
2371浏览 • 1回复 待解决
如何判断一个对象实现某个接口
1372浏览 • 1回复 待解决
如何判断JS对象中是否存在某个
2290浏览 • 1回复 待解决
怎么判断某个customDialog是否弹出?
221浏览 • 1回复 待解决
如何判断某个应用是否为系统应用
2205浏览 • 1回复 待解决
数组map函数, 如何返回interface
193浏览 • 1回复 待解决
HarmonyOS判断Object中是否含有某个属性
880浏览 • 1回复 待解决
interface如何间接导出
873浏览 • 1回复 待解决
HarmonyOS interface 问题
277浏览 • 1回复 待解决
interface回调如何调用
900浏览 • 1回复 待解决