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

相关推荐
TE-茶叶蛋几秒前
Next.js中App Router 全部特殊文件一览
开发语言·javascript·网络
喜欢踢足球的老罗4 分钟前
逆向 WhatsApp Web:前端 SDK 深度剖析与 Chrome 插件实战指南
前端·chrome
roseonly_h5 分钟前
如何将钉钉微应用在浏览器打开
前端·钉钉
红藕香残玉簟秋9 分钟前
【Rust学习】windows安装rust
开发语言·学习·rust
小雨下雨的雨15 分钟前
鸿蒙PC用Electron框架——Canvas蜡笔抖动效果实现技术深度解析
前端·javascript·华为·electron·鸿蒙系统
ZC跨境爬虫16 分钟前
跟着 MDN 学CSS day_49:定位实例练习从入门到精通
前端·css·学习
前端小万16 分钟前
用AI两小时开发上架的小程序,单日新增用户173
前端·微信小程序
弹简特17 分钟前
【零基础学Python】08-Python面向对象之封装、多态和函数进阶
开发语言·python
人道领域20 分钟前
一篇文章解决Codex的安装,实操一遍过
java·开发语言·codex
道友可好20 分钟前
Spec Kit:GitHub 官方出品,规范即代码
前端·人工智能·后端