HarmonyOS 怎么判断一个class对象实例是否实现了某个接口?

假设有个:

class A implement MyInterface { ... }
const a: A = new A()

怎么判断一个a对象是否实现了MyInterface接口?

阅读 469
1 个回答

HarmonyOS当前并没有对接口进行类型判断的api,可以使用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);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
HarmonyOS
子站问答
访问
宣传栏