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

相关推荐
阿蔹19 小时前
UI测试自动化--Web--Python_Selenium-元素定位
前端·ui·自动化
万少19 小时前
【鸿蒙心迹】-03-自然壁纸实战教程-项目结构介绍
前端
万少19 小时前
【鸿蒙心迹】- 02-自然壁纸实战教程-AGC 新建项目
前端
瘦的可以下饭了20 小时前
Day04-APIs 日期对象
javascript
用户726007456958020 小时前
彻底搞懂前端动态图片加载:Vue、Vite与Webpack完全指南
javascript
南望无一20 小时前
Vite拆包后Chunk级别的循环依赖分析及解决方案
前端·vite
superman超哥20 小时前
仓颉热点代码识别深度解析
开发语言·后端·python·c#·仓颉
快乐星球喂20 小时前
子组件和父组件之间优雅通信---松耦合
前端·vue.js
风止何安啊20 小时前
Steam玩累了?那用 Node.js 写个小游戏:手把手玩懂 JS 运行环境
前端·javascript·node.js
不想秃头的程序员20 小时前
JS原型链详解
前端·面试