hasOwnProperty 与 in

in运算符则返回表示对象在原型链上是否有特定属性的布尔值。

    has(element){
      return element in items;
    };

Object原型有hasOwnProperty方法。

该方法返回一个表明对象是否具有特定属性的布尔值。

我们也可以在代码中使用this.items.hasOwnProperty(element)。但是,如果这样的话,代码检查工具如ESLint会抛出一个错误。错误的原因为不是所有的对象都继承了Object.prototype,甚至继承了Object.prototype的对象上的hasOwnProperty方法也有可能被覆盖,导致代码不能正常工作。要避免出现任何问题,使用Object.prototype.hasOwnProperty.call是更安全的做法。

    has(element) {
      return Object.prototype.hasOwnProperty.call(this.items, element);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容