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

相关推荐
程序员黑豆5 分钟前
鸿蒙应用开发教程:以红绿灯切换为例,掌握条件渲染的核心用法
前端·harmonyos
猫32813 分钟前
echarts 日常问题解决
前端·javascript·echarts
新中地GIS开发老师16 分钟前
地信职业百科④:GIS开发工程师
前端·数据库·gis·webgis·三维gis开发
我是大卫25 分钟前
【图】React源码解析-从数据结构、调度器、源码设计模式到状态计算引擎,深挖useReducer原理
前端·react.js·源码
willes32 分钟前
列表中的倒计时组件
前端
LVZ34 分钟前
用了半年 AI 写代码,最烦的不是代码,是环境
前端·后端·开源
polaris_tl34 分钟前
一行 `compress: false`,为什么让 SSE 首包恢复实时返回
前端
海边的云36 分钟前
别再让 AI 瞎改代码:一套让大模型「收敛」的前端专家 Skill》
前端
kisshyshy36 分钟前
给端侧大模型装上“发动机”:React 合成事件 + 进度条组件全解
前端·react.js·node.js
格林威39 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机