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

相关推荐
o0o_-_13 小时前
【go/gopls/mcp】官方gopls内置mcp server使用
开发语言·后端·golang
虫虫rankourin13 小时前
在 create-react-app (CRA) 创建的应用中使用 react-router-dom v7以及懒加载的使用方法
前端·react.js
小刘鸭地下城13 小时前
Web安全必备:关键 HTTP 标头解析
前端
yddddddy13 小时前
html基本知识
前端·html
Dxy123931021613 小时前
python把文件从一个文件复制到另一个文件夹
开发语言·python
不要再敲了14 小时前
JavaScript与jQuery:从入门到面试的完整指南
javascript·面试·jquery
酷飞飞14 小时前
Qt Designer与事件处理
开发语言·qt·命令模式
荣达14 小时前
koa洋葱模型理解
前端·后端·node.js
天雪浪子14 小时前
Python入门教程之赋值运算符
开发语言·python
Wadli14 小时前
C++语法 | static静态|单例模式
开发语言·c++·单例模式