-
typeof演算子を使用する方法: 以下のコードは、typeof演算子を使用してオブジェクトが関数かどうかを判定します。
if (typeof obj === 'function') { // ネイティブJavaScriptオブジェクト } else { // jQueryオブジェクト }
この方法は簡単ですが、オブジェクトが関数であるかどうかしか判定できません。そのため、jQueryオブジェクトかどうかを確認するには、より高度な方法が必要です。
-
instanceof演算子を使用する方法: 以下のコードは、instanceof演算子を使用してオブジェクトがjQueryオブジェクトかどうかを判定します。
if (obj instanceof jQuery) { // jQueryオブジェクト } else { // ネイティブJavaScriptオブジェクト }
この方法はより確実ですが、判定対象のオブジェクトがjQueryのグローバルオブジェクト(jQuery)を使用して生成されたものである必要があります。
-
jQueryオブジェクトのプロパティをチェックする方法: jQueryオブジェクトは通常、以下のようなプロパティを持っています。
if (obj.jquery) { // jQueryオブジェクト } else { // ネイティブJavaScriptオブジェクト }
この方法は直感的であり、比較的高速に判定できます。ただし、プロパティ名が変更された場合には動作しません。
これらの方法を組み合わせることで、オブジェクトがjQueryオブジェクトかネイティブJavaScriptオブジェクトかを高速に判定できます。適切な方法を選択し、パフォーマンスを最適化するようにしてください。
なお、上記のコード例は参考までに提供したものであり、実際の使用環境に応じて適切な方法を選択してください。