はい、これにはたくさんの投稿がありますが、選択した答えがthis postであるとは分かりません。特に、なぜそれが必要ですreturn object
?関数がjavascriptの関数Functionであるかどうかを調べる
Object.prototype.toString.call(myFunc)
のようなものが、MDNで説明されているように、なぜ十分ではないのですか?
はい、これにはたくさんの投稿がありますが、選択した答えがthis postであるとは分かりません。特に、なぜそれが必要ですreturn object
?関数がjavascriptの関数Functionであるかどうかを調べる
Object.prototype.toString.call(myFunc)
のようなものが、MDNで説明されているように、なぜ十分ではないのですか?
return object
はなぜ必要ですか?
それはobject &&
を行う必要がありませんが、そのようなnull
などの値のためのメソッド呼び出しを回避falsy値のショートカット。あなたはスピードを探している場合はもちろん、あなたはおそらく、なぜObject.prototype.toString.call(myFunc)
のようなものが十分ではないtypeof object == "function"
のために行くべきですか?
これで十分です。 object
がnull
またはundefined
(一般falsy)でない場合
return object && getClass.call(object) == '[object Function]'
この構成は単に検証します。
JavaScriptはgetClass()
の呼び出しを偽のobject
で評価しないため、この方法は高速です。
@DmitriPavlutin:これは実際には必要ありません。彼らはどちらもうまく動作します。 – SLaks
ダックタイピングのポイントは、 'Function'の場合は気にしないで' apply'と 'call'を実装するかどうかだけです。 – ssube