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

相关推荐
英俊潇洒美少年1 分钟前
前端性能优化:非关键脚本/第三方资源异步加载全解(彻底解决首屏阻塞)
前端·性能优化
Jun6265 分钟前
QT(2)-通过管道关联CMD
开发语言·qt·命令模式
掘金者阿豪22 分钟前
终于!我的第二本书正式出版,吃透 Agentic AI 核心不踩坑
javascript·后端
开飞机的舒克_25 分钟前
vue3+router动态权限路由
前端·vue.js
VitoChang26 分钟前
放弃手搓路由吧!用 SolidStart 搞 SPA,真香
前端
GuWenyue26 分钟前
告别JS类型坑!Ts为什么在ai时代逐渐成为"第一"语言
前端·算法·typescript
三乐22829 分钟前
事件循环是什么东西,一篇文章带你了解
前端·javascript
wuhen_n30 分钟前
RAG 核心:向量嵌入与本地向量数据库实战
前端·langchain·ai编程
孟陬31 分钟前
国外技术周刊 #139:LLM 正在杀死程序员的「懒惰美德」
前端·人工智能·后端
Deep-w37 分钟前
【MATLAB】基于离散 LQR 的车辆横向轨迹跟踪控制方法研究
开发语言·算法·matlab