JavaScript object.hasOwnProperty(proName)vs lodash _.has(obj,proName)函数

esa*_*z91 14 javascript properties lodash

我正在讨论使用JavaScript Object.hasOwnProperty(propName)和lodash _.has(obj, proName)函数来确定对象是否具有属性.

对于简单的案例,哪个更有效?对于复杂的情况?对于所有情况?

有没有更好的图书馆,我没有提到过?

谢谢!

Poi*_*nty 20

那么Lodash _.has()方法只是Object.prototype.hasOwnProperty()在检查null参数后调用.该代码早期抓住了一个参考:

var hasOwnProperty = Object.prototype.hasOwnProperty;
Run Code Online (Sandbox Code Playgroud)

然后_.has(object, prop)看起来像

return object != null && hasOwnProperty.call(object, prop);
Run Code Online (Sandbox Code Playgroud)

  • @Friendly-Robot 避免进行函数调用可能是性能问题。 (3认同)