空のオブジェクトで呼び出された hasOwnProperty が何をするのか、誰か説明できますか? なぜそれを使用するのですか?
__hasProp = {}.hasOwnProperty
これは、coffescript で開発を始めたときに見つけました。Ty
空のオブジェクトで呼び出された hasOwnProperty が何をするのか、誰か説明できますか? なぜそれを使用するのですか?
__hasProp = {}.hasOwnProperty
これは、coffescript で開発を始めたときに見つけました。Ty
hasOwnProperty
は呼び出されません。関数名の後に括弧はありません。
__hasProp
[MDN]への参照であるためObject.prototype.hasOwnProperty
__hasProp = {}.hasOwnProperty
の短縮版です
__hasProp = Object.prototype.hasOwnProperty
__hasProp
たとえば、今すぐ呼び出す
__hasProp.call(someObject, 'foo')
よりもはるかに短くて読みやすい
Object.prototype.hasOwnProperty.call(someObject, 'foo')
coffescriptの開発を始めたときに創業しました。
したがって、この行は自動的に生成されたものだと思います。実際にコードを記述する必要がないのに、なぜショートカットを作成するのか疑問に思われるかもしれません。
この関数を変数に割り当てると、ルックアップする必要がなくなり、Object
使用するたびに使用できます。は 3 回ではなく 1 回のルックアップであり、非常に頻繁に使用するとパフォーマンスがわずかに向上する可能性があります。Object.prototype
Object.prototype.hasOwnProperty
__hasProp