JavaScript の型識別について
Java の class.getName() メソッドとは異なり、JavaScript には直接同等のものはありません。 JavaScript オブジェクト タイプについての洞察を得るには、次のアプローチを検討してください。
1.コンストラクター プロパティの使用:
var arr = [1, 2, 3]; console.log(arr.constructor == Array); // true
ただし、このアプローチは、特にオブジェクトが複雑な継承またはクロスフレーム シナリオを通じて作成される場合には、常に機能するとは限りません。コンストラクターに依存する場合は注意することをお勧めします。
2. instanceof Operator:
var arr2 = new Array(1, 2, 3); console.log(arr2 instanceof Array); // true
instanceof を使用するとより正確ですが、数値や文字列などのリテラル値の場合は失敗します。また、フレームやウィンドウ全体で問題が発生します。
3.コンストラクター プロパティの name プロパティを使用する:
function MyClass() { } var inst = new MyClass(); console.log(inst.constructor.name); // "MyClass"
この方法は通常はうまく機能しますが、コンストラクターの name プロパティを設定するか、IE9 などの古いブラウザーのモンキー パッチをサポートする必要があります。
4. Object.prototype.toString:
var str = 'Hello'; console.log(Object.prototype.toString.call(str)); // "[object String]"
toString を使用すると、組み込み型の型情報を提供できますが、カスタム型の場合は「Object」を返します。
考慮事項:
結論:
JavaScript でオブジェクトの種類を決定するには、利用可能なさまざまなメソッドを微妙に理解する必要があります。 Java のアプローチには類似点もありますが、コンテキストと使用法のより包括的な分析を必要とする明確なニュアンスもあります。
以上がJavaScript オブジェクト タイプを確実に識別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。