Object.hasOwn() 判断是否有自身属性

最后更新:2026-09-09

Object.hasOwn() 判断是否有自身属性

Object.hasOwn 判断对象是否具有指定**自身**属性(不含原型链上的),是 hasOwnProperty 的更安全替代。

分类对象
ES 版本ES2022

📝 语法

Object.hasOwn(对象, 属性名);

⚙️ 参数

obj要检查的对象。
propertyName属性名(字符串)。

返回值:布尔值。

是否修改原值:否(返回新值)

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

true
false
false
💡 提示 Object.hasOwn 比 obj.hasOwnProperty() 更安全——后者在对象没有原型时可能报错。
ℹ️ info ES2022 新增——替代 obj.hasOwnProperty() 的标准方式。

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
Object.hasOwn() v64 v79 v78 v12 v51
所有现代浏览器均支持
更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

QObject.hasOwn 和 hasOwnProperty 的区别?
AhasOwnProperty 是实例方法,对象可能没有原型(Object.create(null))导致报错。Object.hasOwn 是静态方法,永远安全。
QObject.hasOwn 检查原型链上的属性吗?
A不检查——只检查自身属性。继承的属性返回 false。
QObject.hasOwn 是 ES 几新增的?
AES2022。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏