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

相关推荐
King of fraud9 分钟前
HTML 页面的 CSS 选择器详解
前端·css·html
前端 贾公子11 分钟前
Milvus使用指南 (下)
java·服务器·前端
统计学小王子12 分钟前
数学建模国赛倒计时 1 天 ——《统计模型精讲(逐步回归 R 语言实战篇)》
开发语言·数学建模·r语言
ttwuai19 分钟前
Go 后台接入单点登录后,JWT、菜单权限和接口 403 怎么验?
开发语言·后端·golang
qeen8719 分钟前
【C++】C++中的错误处理机制-异常
开发语言·c++·异常
用户542778485154024 分钟前
浏览器后台休眠节流
前端
蜡台25 分钟前
Vue 3 原生 ESM 开发实战:不用打包工具,从零搭建组件化应用
前端·javascript·vue.js·html
步行cgn26 分钟前
OCP开闭原则:面向对象设计的核心原则
java·开发语言·开闭原则
曹牧28 分钟前
C#:模态对话框
开发语言·c#
我的div丢了肿么办28 分钟前
grid布局justify-items和align-items、justify-content和align-content
前端·css