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

相关推荐
YAwu11几秒前
HTML语义化渲染与CSS优先级机制的技术解析
前端
MgArcher5 分钟前
Python高级特性:filter() 函数完全指南
前端·后端
whitelbwwww7 分钟前
标准模板库--STL库
开发语言·c++
枫叶丹47 分钟前
【HarmonyOS 6.0】ArkWeb嵌套滚动快速调度策略
开发语言·华为·harmonyos
努力学习的小廉11 分钟前
Python 零基础入门——基础语法(二)
android·开发语言·python
~plus~14 分钟前
C# 内存管理深度剖析:从 Span<T> 到 Memory<T> 再到 ArrayPool
开发语言·c#
计算机安禾16 分钟前
【数据结构与算法】第43篇:Trie树(前缀树/字典树)
c语言·开发语言·矩阵·排序算法·深度优先·图论·宽度优先
cici1587420 分钟前
C#与西门子S7-1200通讯实例
开发语言·c#
han_23 分钟前
JavaScript设计模式(十):模板方法模式实现与应用
前端·javascript·设计模式