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

相关推荐
小高00715 小时前
🔥前端性能内卷终点?Signals 正在重塑我们的开发习惯
前端·javascript·vue.js
无巧不成书021815 小时前
Java异常体系与处理全解:核心原理、实战用法、避坑指南
java·开发语言·异常处理·java异常处理体系
周末也要写八哥15 小时前
HTML网页设计入门之“做前端”的基本思路
前端·html
VelinX15 小时前
【个人学习||vue】
前端·vue.js·学习
禅思院15 小时前
前端性能优化:从“术“到“道“的完整修炼指南
前端·性能优化·前端性能优化·分层优化模
大尚来也15 小时前
Go性能调优实战:用pprof精准定位瓶颈
开发语言
User_芊芊君子15 小时前
2026 Python+AI入门|0基础速通,吃透热门轻量化玩法
开发语言·人工智能·python
用泥种荷花15 小时前
OpenClaw 插件开发避坑指南
前端
aq553560015 小时前
Laravel7.x重磅升级:十大新特性解析
开发语言·汇编·c#·html
大鹏说大话15 小时前
Go语言Channel并发编程实战:从基础通信到高级模式
开发语言·后端·golang