你如何使用hasOwnProperty?

时间:2013-02-22 21:21:33

标签: javascript class coffeescript

任何人都能解释一下hasOwnProperty在空对象上调用了什么吗?为何使用它?

__hasProp = {}.hasOwnProperty

当我开始使用coffescript时,我发现了这一点.Ty

1 个答案:

答案 0 :(得分:9)

hasOwnProperty 被调用。函数名后面没有括号。

__hasPropObject.prototype.hasOwnProperty [MDN]参考,因为

__hasProp = {}.hasOwnProperty

的缩短版
__hasProp = Object.prototype.hasOwnProperty

现在调用__hasProp,例如在

__hasProp.call(someObject, 'foo')

更短更容易阅读
Object.prototype.hasOwnProperty.call(someObject, 'foo')

  

当我开始开发coffescript时,我成立了。

所以我假设这一行是自动生成的,如果没有人真正编写代码,你可能想知道为什么要创建一个快捷方式?

将此功能分配给变量可避免每次要使用时都必须查找ObjectObject.prototypeObject.prototype.hasOwnProperty__hasProp只是一次查找,而不是三次,并且在经常使用时可能会导致性能略有提升。