【js】如何判断对象是否存在某个属性

我们先假设这个对象是obj,需要判断的属性是age。

(1)️obj.hasOwnProperty('age')⽅法:该⽅法返回⼀个布尔值,存在age就返回true,否则返回false。这个⽅法只判断⾃身上的属性,不会去查找原型上是否有age属性。

(2)判断obj.age != undefined 或 obj['age'] != undefined:如果对象上不存在age属性,则返回

undefined。它会从⾃身和其原型链上找这个age属性。注意:该⽅法不能⽤在对象的属性值存在但属性

值为 undefined 的场景下,⽐如obj⾥有age属性,age的值是undefined,那么此时obj.age就等于

undefined,这时我们不能就认为没有age属性,实际这个属性是存在的,只是它的值和我们判断的标准

⼀致了。

(3)运⽤ in 运算符:该⽅法和第⼆种⽅式⼀样,会从⾃身和原型链上查找属性。如果'age' in obj返回的是true,那么说明在这个对象或者其原型链中存在age属性。

相关推荐
夏幻灵4 分钟前
Java中的this关键字解析与应用
java·开发语言·python
移幻漂流4 分钟前
JNI的本质解析:Android Framework视角下的Java-Native衔接机制
android·java·开发语言
好学且牛逼的马8 分钟前
ES6 核心语法精讲
前端·ecmascript·es6
baivfhpwxf20238 分钟前
C# Task.Run 和 Task.Factory.StartNew 的区别
开发语言·c#
GISer_Jing10 分钟前
一次编码,七端运行:Taro多端统一架构深度解析与电商实战
前端·aigc·taro
难得的我们14 分钟前
C++中的状态模式
开发语言·c++·算法
eWidget15 分钟前
Shell循环进阶:break/continue,循环嵌套与优化技巧
运维·开发语言·ffmpeg·运维开发
子春一17 分钟前
Flutter for OpenHarmony:用 Flutter 构建一个数字猜谜游戏:从零开始的交互式应用开发
javascript·flutter·游戏
爱喝水的鱼丶21 分钟前
SAP-ABAP:从SAP中暴露REST API:完整实操SICF接口开发指南
运维·开发语言·api·sap·abap·rest·接口开发
独自破碎E25 分钟前
【双指针】反转字符串
java·开发语言