HarmonyOS 鸿蒙Next hasOwnProperty 写法

发布于 1周前 作者 wuwangju 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next hasOwnProperty 写法

api9 判断一个JSON中是否有某个key,使用的

object.hasOwnProperty(‘key’)
升级到api12,提示报错,Usage of standard library is restricted (arkts-limited-stdlib) <ArkTSCheck>


更多关于HarmonyOS 鸿蒙Next hasOwnProperty 写法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

问题原因:这是因为API 12对代码实行了严格检查,限制使用标准库。参考文档可见:限制使用标准库

解决方案:

使用 Object.prototype.hasOwnProperty.call(obj, 'propertyName')
替代 obj.hasOwnProperty('propertyName')

更多关于HarmonyOS 鸿蒙Next hasOwnProperty 写法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


限制使用标准库的文档要怎么授权才能看啊?

有要学HarmonyOS AI的同学吗,联系我:https://www.itying.com/goods-1206.html

试试使用  let boo: boolean = Reflect.has(obj, 'propertyName');

在HarmonyOS鸿蒙系统中,如果你正在使用API 11并希望了解hasOwnProperty方法的具体写法,可以参考以下JavaScript对象属性的检查方式,因为hasOwnProperty是JavaScript中的一个常用方法,用于检查对象是否拥有指定的属性。

在鸿蒙开发环境中,如果你正在编写涉及JavaScript的代码(如使用ArkUI框架),你可以这样使用hasOwnProperty

let obj = {
    name: "HarmonyOS",
    version: "API 11"
};

if (obj.hasOwnProperty("name")) {
    console.log("Object has 'name' property.");
} else {
    console.log("Object does not have 'name' property.");
}

if (obj.hasOwnProperty("unknownProperty")) {
    console.log("Object has 'unknownProperty'.");
} else {
    console.log("Object does not have 'unknownProperty'.");
}

这段代码会输出:

Object has 'name' property.
Object does not have 'unknownProperty'.

hasOwnProperty方法不会检查对象原型链上的属性,仅检查对象自身的属性。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部