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

相关推荐
Penge6662 小时前
《Go 后端开发者学 TypeScript:数组和元组》
javascript
Penge6662 小时前
《Go 后端开发者学 TypeScript:export关键字大全》
javascript
Penge6663 小时前
《Go 后端开发者学 TypeScript:从零理解 async、await 与 Promise》
javascript
Penge6663 小时前
typescript 中const用法
javascript
Csvn3 小时前
Monorepo
前端
Csvn3 小时前
流水线
前端
Csvn3 小时前
微前端架构
前端
来让爷抱一个5 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
Linux-lucky5 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
风骏时光牛马7 小时前
生成一个移动端标题,只需要一个标题,不需要其他的任何文本。
前端