在 JavaScript 中,我们常常要判断一个对象是否拥有某个属性,通常用以下方式:
-- -------------------------- - -- -- --------- -
这个方法确实可以解决问题,但有时也会带来一些烦恼:
- 对象继承自原型链的属性也会被识别为自己拥有的属性。
- 写起来比较冗长,每次都需输入
hasOwnProperty
。
npm 包 es-hasown 就是为了解决以上问题而诞生的。本文介绍如何使用此包。
安装
使用 npm 安装即可:
--- ------- ---------
使用方法
- 引入 es-hasown 模块
----- ------ - ---------------------
或
------ ------ ---- ------------
- 使用 hasOwn 函数替代 hasOwnProperty 函数
-- ------------ ------ - -- -- --------- -
为什么要使用 es-hasown
es-hasown 包的作用是判断一个对象是否拥有某个属性,和原生的 hasOwnProperty 函数是一样的。为什么我们要使用 es-hasown 呢?
- 不受原型链干扰
es-hasown 函数只检查对象自身是否有该属性,不受原型链干扰。
比如:
----- --- - ------------------- ---- ------- - -- -- -- --------- -- ----------- ------- -- ----- ----------- ------- -- ---- -- ---- -------------- -- -------------------------- -- ---- -------------------------- -- ----
- 简化代码
es-hasown 函数更加简短明了,使用起来比原生的 hasOwnProperty 函数方便。
-- -- --------- -- ----------- -------- -- ---- -------------- -- ---------------------------
示例
以下是一个示例:
----- ------ - --------------------- ----- --- - - ---- ----- -- -- ------------ ------- - --------------------- -- ----- - ----- ------ - ----------------- - --------- - ----- - - ----- - - --- --------------- -- ----------- -------- - -------------------- -- --------- -
总结
es-hasown 包可以更加方便地判断对象是否拥有某个属性,不受原型链干扰,使用起来也更简单。当我们需要频繁地判断对象是否拥有某个属性时,可以考虑使用 es-hasown 包。
参考链接
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/65702