/ javascriptでjqueryオブジェクトと辞書の違いを知る方法 - javascript、jquery、types

jQueryオブジェクトとjavascriptのdictの違いを教える方法 - javascript、jquery、types

>>> 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"プロパティがミステリーオブジェクトに存在するかどうかを確認するだけの方が簡単です。