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

相关推荐
大菜菜6 分钟前
Molecule Framework -EditorService API 详细文档
前端
Anita_Sun8 分钟前
😋 核心原理篇:线程池的 5 大核心组件
前端·node.js
认真敲代码的小火龙11 分钟前
【JAVA项目】基于JAVA的养老院管理系统
java·开发语言·课程设计
灼华_12 分钟前
Web前端移动端开发常见问题及解决方案(完整版)
前端
_请输入用户名13 分钟前
Vue3 Patch 全过程
前端·vue.js
孟祥_成都13 分钟前
nest.js / hono.js 一起学!字节团队如何配置多环境攻略!
前端·node.js
AI科技星13 分钟前
统一场论质量定义方程:数学验证与应用分析
开发语言·数据结构·经验分享·线性代数·算法
扶苏-su14 分钟前
Java---事件处理机制
java·开发语言
用户40993225021214 分钟前
Vue3数组语法如何高效处理动态类名的复杂组合与条件判断?
前端·ai编程·trae
山里看瓜15 分钟前
解决 iOS 上 Swiper 滑动图片闪烁问题:原因分析与最有效的修复方式
前端·css·ios