>>> var jq = $("body");
>>> var di = {hello: "world"};
>>> typeof jq == typeof di;
true
dictオブジェクトとjqueryオブジェクトは同じ型ではありません。このようなことはJavaScriptでも可能ですか?
回答:
回答№1の場合は3両方の変数の型は Object
。私はあなたが向かっていると思います instanceof
.
jq instanceof jQuery // -> true
di instanceof jQuery // -> false
回答№2の場合は3
jQuery.isPlainObjectを使う
jQuery.isPlainObject(di) === true
jQuery.isPlainObject(jq) === false
回答№3の場合は3
違いを見分ける必要があるのはなぜですか。 私は「この問題を別の方向から考えることがより良いことがわかった」:あなたが未知の起源の目的を持っているという当面の状況において、異なる可能性は何か?言い換えれば、それは本当にできますか 何でもそれとも、どのメソッドを呼び出すのかを知っておく必要があるということだけですか。
これは個人的な好みの問題ですが、一般的にはダックタイピングのチェックをより緩やかに行い、2つの "signal"プロパティがミステリーオブジェクトに存在するかどうかを確認するだけの方が簡単です。