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

相关推荐
_w_z_j_3 分钟前
Linux----线程互斥与同步
linux·运维·开发语言
云栖梦泽5 分钟前
易语言网络编程基础:构建网络版应用
开发语言
lvchaoq27 分钟前
页面停留时间过长导致token过期问题
前端
兔老大的胡萝卜29 分钟前
pm2 部署nuxt4项目
javascript·nuxt4
阿蒙Amon31 分钟前
JavaScript学习笔记:17.闭包
javascript·笔记·学习
elangyipi12332 分钟前
深入理解前端项目中的 package.json 和 package-lock.json
前端·json
布茹 ei ai32 分钟前
QtWeatherApp - 简单天气预报软件(C++ Qt6)(附源码)
开发语言·c++·qt·开源·开源项目·天气预报
Wpa.wk34 分钟前
自动化测试 - 文件上传 和 弹窗处理
开发语言·javascript·自动化测试·经验分享·爬虫·python·selenium
LinHenrY122735 分钟前
初识C语言(编译和链接)
c语言·开发语言·蓝桥杯
_OP_CHEN35 分钟前
【Python基础】(二)从 0 到 1 入门 Python 语法基础:从表达式到运算符的全面指南
开发语言·python