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

相关推荐
q***25219 小时前
SpringMVC 请求参数接收
前端·javascript·算法
q***33379 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
MarkHD9 小时前
车辆TBOX科普 第45次
java·开发语言
烛阴9 小时前
从`new()`到`.DoSomething()`:一篇讲透C#方法与构造函数的终极指南
前端·c#
还债大湿兄9 小时前
阿里通义千问调用图像大模型生成轮动漫风格 python调用
开发语言·前端·python
谢尔登10 小时前
defineProperty如何弥补数组响应式不足的缺陷
前端·javascript·vue.js
鸭子程序员10 小时前
c++ 算法
开发语言·c++·算法
搬砖ing换来金砖10 小时前
Python入门-Task02
开发语言·python
蓝瑟忧伤10 小时前
前端技术新十年:从工程体系到智能化开发的全景演进
前端
雨中散步撒哈拉10 小时前
17、做中学 | 初三下期 Golang文件操作
开发语言·后端·golang