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

相关推荐
qwehjk200835 分钟前
实时语音处理库
开发语言·c++·算法
2301_8042154137 分钟前
自定义异常类设计
开发语言·c++·算法
CHU72903538 分钟前
让知识传递更顺畅:在线教学课堂APP的功能设计
前端·人工智能·小程序
暮冬-  Gentle°39 分钟前
C++代码依赖分析
开发语言·c++·算法
周淳APP40 分钟前
【React Hook全家桶】大致过一遍React Hooks
前端·javascript·react.js·前端框架·react hooks
糯诺诺米团41 分钟前
C++多线程打包成so给JAVA后端(Ubuntu)<3>
java·开发语言·c++
2301_7638919542 分钟前
泛型编程与STL设计思想
开发语言·c++·算法
sheji341643 分钟前
【开题答辩全过程】以 基于web的图书借阅系统的设计与实现为例,包含答辩的问题和答案
前端
●VON43 分钟前
Flutter组件深度解析:从基础到高级的完整指南
android·javascript·flutter·harmonyos·von
j_xxx404_44 分钟前
蓝桥杯基础--进制转换
开发语言·数据结构·c++·算法·职场和发展·蓝桥杯