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

我接口请求回来数据是

data : [
  {
    'age' : 5
  },
  {
    'age' : 6
  }
]

创建了一个类

Person

age : number = 0

没有实现constructor

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

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

HarmonyOS
3天前
浏览
收藏 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 = ''
}

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

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

分享
微博
QQ
微信
回复
3天前
相关问题
如何判断对象是某个interface实现
1168浏览 • 1回复 待解决
如何判断一个对象是否对象数组中
2483浏览 • 1回复 待解决
HarmonyOS Native 实例化 ArkTS 对象
193浏览 • 1回复 待解决
首选项获取实例实例是否为单例
1974浏览 • 1回复 待解决
如何判断JS对象是否存在某个
2358浏览 • 1回复 待解决
什么PolarDB实例有知道吗?
3855浏览 • 1回复 待解决
如何获取Preferences实例
411浏览 • 1回复 待解决
怎么判断某个customDialog是否弹出?
275浏览 • 1回复 待解决