web-dev-qa-db-ja.com

JavaScript object.hasOwnProperty(proName)vs lodash _.has(obj、proName)関数

JavaScript Object.hasOwnProperty(propName)とlodash_.has(obj, proName)関数を使用して、オブジェクトにプロパティがあるかどうかを判断することについて議論しています。

単純なケースではどちらがより効率的ですか?複雑な場合は?すべての場合?

私が言及していないより良いライブラリはありますか?

ありがとう!

14
esanz91

Lodash _.has()メソッドは、null引数をチェックした後のObject.prototype.hasOwnProperty()の呼び出しにすぎません。コードは早い段階で参照を取得します。

_var hasOwnProperty = Object.prototype.hasOwnProperty;
_

そして_.has(object, prop)は次のようになります

_return object != null && hasOwnProperty.call(object, prop);
_
22
Pointy