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

相关推荐
比特森林探险记6 分钟前
React API集成与路由
前端·react.js·前端框架
xyq202411 分钟前
Scala IF...ELSE 语句
开发语言
wengqidaifeng20 分钟前
探索数据结构(二):空间复杂度
c语言·开发语言·数据结构
难得的我们20 分钟前
单元测试在C++项目中的实践
开发语言·c++·算法
全栈师24 分钟前
java和C#的基本语法区别
java·开发语言·c#
爱上妖精的尾巴24 分钟前
8-1 WPS JS宏 String.raw等关于字符串的3种引用方式
前端·javascript·vue.js·wps·js宏·jsa
hvang198827 分钟前
某花顺隐藏了重仓涨幅,通过chrome插件计算基金的重仓涨幅
前端·javascript·chrome
Async Cipher30 分钟前
TypeScript 的用法
前端·typescript
web打印社区31 分钟前
vue页面打印:printjs实现与进阶方案推荐
前端·javascript·vue.js·electron·html
JHC00000032 分钟前
智能体造论子--简单封装大模型输出审核器
开发语言·python·机器学习