鸿蒙Next中esobject是否包含某个key怎么判断

在鸿蒙Next中,如何判断esobject是否包含某个特定的key?有没有类似hasOwnProperty这样的方法可以直接使用?

2 回复

在鸿蒙Next中,判断esobject是否包含某个key,可以用hasOwnPropertyin操作符。比如:

if (obj.hasOwnProperty('key')) { ... }
// 或者
if ('key' in obj) { ... }

简单粗暴,直接搞定!

更多关于鸿蒙Next中esobject是否包含某个key怎么判断的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在鸿蒙Next中,判断esobject(即ETS对象)是否包含某个key,可以使用hasOwnProperty方法或in操作符。

1. 使用 hasOwnProperty 方法

检查对象自身属性(不包含原型链):

let obj: Object = { name: "Alice", age: 25 };
if (obj.hasOwnProperty('name')) {
  console.log("包含 key 'name'");
} else {
  console.log("不包含 key 'name'");
}

2. 使用 in 操作符

检查对象自身及原型链上的属性:

let obj: Object = { name: "Alice", age: 25 };
if ('name' in obj) {
  console.log("包含 key 'name'");
} else {
  console.log("不包含 key 'name'");
}

说明:

  • hasOwnProperty:仅检查对象自身定义的属性,推荐用于常规属性检查。
  • in 操作符:会检查整个原型链,适用于需要检测继承属性的场景。

根据具体需求选择合适的方法即可。

回到顶部