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

相关推荐
天渺工作室2 分钟前
Vue自定义指令实现点击事件权限拦截控制的npm插件
前端·vue.js·npm
weixin_428005302 分钟前
C#调用 AI学习从0开始-第1阶段(基础与工具)-第4天CoT思维链学习
开发语言·学习·ai·c#·cot
晓得迷路了3 分钟前
栗子前端技术周刊第 129 期 - TanStack npm 供应链入侵事件、pnpm 11.1、Tailwind CSS 4.3...
前端·javascript·css
砍材农夫3 分钟前
物联网 基于netty构建mqtt服务demo演示
开发语言·物联网·php
Lan_Se_Tian_Ma5 分钟前
使用Cursor封装Flutter项目基建框架
前端·人工智能·flutter
ZC跨境爬虫5 分钟前
跟着 MDN 学 HTML day_59:HTML表单与按钮——构建用户交互的基石
前端·javascript·ui·html·交互·媒体
JAVA面经实录9176 分钟前
Java 并发工具类
java·大数据·开发语言
天天开发6 分钟前
Flutter Widget Previewer使用指南:提升开发效率的利器
前端·javascript·flutter
吃好睡好便好7 分钟前
在Matlab中绘制变半径柱面图
开发语言·人工智能·学习·算法·matlab
许彰午7 分钟前
IE11富文本兼容——政务系统前端的深渊
前端·政务