【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属性。

相关推荐
先做个垃圾出来………7 分钟前
DeepDiff差异语义化特性
服务器·前端
亓才孓22 分钟前
【MyBatis Plus】Wrapper接口
java·开发语言·数据库·spring boot·mybatis
蓝帆傲亦27 分钟前
前端常用可视化图表组件大全
前端
游乐码36 分钟前
c#运算符重载
开发语言·c#
人道领域1 小时前
MyBatisPlus高效开发实战指南
java·开发语言·数据库
游乐码1 小时前
c#继承的原则
开发语言·c#
lsx2024061 小时前
Servlet 文件上传
开发语言
游乐码1 小时前
c#内部类和分部类
开发语言·c#
消失的旧时光-19431 小时前
C++ 多线程与并发系统取向(四)—— std::condition_variable:线程协作与生产者消费者模型(类比 Java wait/notify)
开发语言·c++
颜酱1 小时前
前缀和技巧全解析:从基础到进阶
javascript·后端·算法