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

相关推荐
Csvn4 分钟前
React 19 `use()` 来了:以后数据加载可以不用 useEffect?
前端·react.js
没落英雄7 分钟前
从零开始搭建一个 AI Agent —— LangChain + TypeScript 实战手记
前端·人工智能·架构
远航_9 分钟前
git submodule
前端·后端·github
摸着石头过河的石头12 分钟前
从 Webpack 到 RSBuild:前端构建工具的进化之路
前端
疯狂的魔鬼12 分钟前
告别 boolean 地狱:一个文件上传组件的状态机实践
前端·设计
竹林81812 分钟前
Solana DApp 开发踩坑实录:从零用 @solana/web3.js 实现链上数据查询与交易签名
前端·javascript
狂师16 分钟前
测试工程师的AI 技能库:推荐5个让你效率翻倍的Skills
前端·后端·测试
李明卫杭州17 分钟前
Vue3 watch 与 watchEffect 深度解析
前端
CodeSheep22 分钟前
DeepSeek正式官宣摇人,夯!
前端·后端·程序员
用户0595401744629 分钟前
Redis持久化踩坑实录:这个数据丢失Bug让我排查了6小时
前端·css