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

相关推荐
henry1010101 分钟前
DeepSeek生成的网页版念经小助手
javascript·css·html5·工具
一只大侠的侠3 分钟前
React Native实战:高性能StickyHeader粘性标题组件实现
javascript·react native·react.js
夏幻灵4 分钟前
CSS 布局深究:行框模型、幽灵节点与绝对居中的数学原理
前端·css
Web打印6 分钟前
Phpask(php集成环境)之09 统一管理网站和监听端口
开发语言·php
froginwe1111 分钟前
SQL RIGHT JOIN
开发语言
打瞌睡的朱尤13 分钟前
Vue day13~16Vue特性,Pinia,大事件项目
前端·javascript·vue.js
We་ct15 分钟前
LeetCode 61. 旋转链表:题解+思路拆解
前端·算法·leetcode·链表·typescript
你怎么知道我是队长17 分钟前
C语言---排序算法11---桶排序法
c语言·开发语言·排序算法
风象南20 分钟前
用 ASCII 草图 + AI 快速生成前端代码
前端
键盘鼓手苏苏23 分钟前
Flutter for OpenHarmony:random_string 简单灵活的随机字符串生成器(验证码、密钥、UUID) 深度解析与鸿蒙适配指南
开发语言·flutter·华为·rust·harmonyos