HarmonyOS 判断实例对象是否是某个类的实例

我接口请求回来数据是

data : [
  {
    'age' : 5
  },
  {
    'age' : 6
  }
]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

创建了一个类

Person

age : number = 0

没有实现constructor

当在接收数据时 使用 showList = data as Array<Person>

这样获取到的数据能够使用打点调用属性,item instanceof Person 这是得到的结果是false是什么原因呢

HarmonyOS
2024-12-23 14:57:39
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
FengTianYa

请参考以下代码解析

@Entry
@Component
struct JsonPage {
  resultInfo: string = '{"state":0,"message":"ok","user":{ "id":"001","name":"zhangsan" }}'

  build() {
    Column() {
      Text('test').onClick(() => {
        const temp: Respon = JSON.parse(this.resultInfo);
        console.info(temp.user.name)

      })
    }
  }
}

class Respon {
  state: string = ''
  message: string = ''
  user: User = new User();
}

class User {
  id: string = ''
  name: string = ''
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.

ArkTS部分支持instanceof,可参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/typescript-to-arkts-migration-guide-V5#部分支持instanceof运算符

在传递的过程中可能会发生以下情况: 对象的属性在传递的过程中被修改。 对象的引用在传递的过程中被改变。 对象的构造函数可能尚未完成执行,导致对象状态不完整。 以上情况都可能导致在接收线程中使用instanceof进行类型判断时出现错误。因此,直接依赖instanceof进行类型判断不够安全。

分享
微博
QQ
微信
回复
2024-12-23 16:56:29
相关问题
如何判断对象是某个interface实现
1817浏览 • 1回复 待解决
HarmonyOS 动态加载实例对象
605浏览 • 1回复 待解决
如何判断一个对象是否对象数组中
3424浏览 • 1回复 待解决
HarmonyOS Native 实例化 ArkTS 对象
1107浏览 • 1回复 待解决
首选项获取实例实例是否为单例
2672浏览 • 1回复 待解决
如何判断JS对象是否存在某个
3126浏览 • 1回复 待解决
什么PolarDB实例有知道吗?
4801浏览 • 1回复 待解决
怎么判断某个customDialog是否弹出?
895浏览 • 1回复 待解决
HarmonyOS 判断设备是否安装某个app
716浏览 • 1回复 待解决
HarmonyOS 创建RN实例问题
1125浏览 • 1回复 待解决