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

相关推荐
Anastasiozzzz7 分钟前
Java异步编程:CompletableFuture从入门到底层实现
java·开发语言
呆子小木心11 分钟前
Vue2或Vue3项目引用百度地图
javascript·vue.js·typescript·前端框架·html5
Swift社区22 分钟前
React 项目生产环境构建与静态资源优化
前端·react.js·前端框架
九.九27 分钟前
高性能算子库 ops-nn 的底层架构:从调度到指令的极致优化
开发语言
比奇堡派星星28 分钟前
sed命令
linux·运维·服务器·开发语言
船神丿男人31 分钟前
C++:STL string(一)
开发语言·c++
A小码哥35 分钟前
基于 Trae + 国产 GLM-4.7模型的任务驱动式软件开发实践
前端
上海合宙LuatOS35 分钟前
LuatOS核心库API——【fft 】 快速傅里叶变换
java·前端·人工智能·单片机·嵌入式硬件·物联网·机器学习
程序员zgh36 分钟前
Linux 内存管理单元 MMU
linux·运维·服务器·c语言·开发语言·c++
瑶瑶领先_36 分钟前
react - isValidElement 判断参数是否是一个有效的ReactElement
前端