HarmonyOS 如何判断联合类型的具体类型

class Cat {
  // ...
}
class Dog {
  // ...
}
class Frog {
  // ...
}
type Animal = Cat | Dog | Frog | number
// Cat、Dog、Frog是一些类型(类或接口)

let animal: Animal = new Cat();

如何在代码运行时判断此animal为Cat类型

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以通过instanceof来判断实体类型

参考demo:

@Entry
@Component
struct TestPage1 {
  @State list: Array<Object> = [new Cat(), new Dog()]

  build() {
    Row() {
      Column() {
        ForEach(this.list, (item: Object) => {
          if (item instanceof Cat) {
            Text("this is Cat")
          } else if (item instanceof Dog) {
            Text("this is Dog")
          }
        })
      }.width('100%')
    }.height('100%')
  }
}

class Cat {
}

class Dog {
}
分享
微博
QQ
微信
回复
1天前
相关问题
求大佬告知如何实现联合类型
730浏览 • 1回复 待解决
HarmonyOS 如何判断设备类型
414浏览 • 1回复 待解决
HarmonyOS如何判断设备类型?
440浏览 • 1回复 待解决
HarmonyOS ArkTS如何判断Object类型
276浏览 • 1回复 待解决
使用具体类型有哪些?
218浏览 • 1回复 待解决
HarmonyOS 怎么进行类型判断
623浏览 • 1回复 待解决
HarmonyOS 泛型类型判断
48浏览 • 1回复 待解决
HarmonyOS 如何判断手机屏幕类型
46浏览 • 1回复 待解决
HarmonyOS 如何判断自定义类类型
53浏览 • 1回复 待解决
如何对监听判断VPN类型网络
468浏览 • 1回复 待解决
ArkTS如何判断接收参数是什么类型
61浏览 • 1回复 待解决
HarmonyOS 线程内类型判断无效
49浏览 • 1回复 待解决
网络类型细分判断问题咨询
347浏览 • 1回复 待解决
怎么判断一个类型是stirng
877浏览 • 1回复 待解决