JavaScript のユニークな動作の検証: オブジェクトの配列が「配列」ではなく「オブジェクト」を返す理由
JavaScript における興味深い現象オブジェクトの配列を操作するときに発生します。驚くべきことに、それらは配列のような性質にもかかわらず、typeof 演算子が使用される場合にはオブジェクトとして分類されます。この矛盾は、特に次のような場合に非常に混乱する可能性があります:
$.ajax({ url: 'http://api.twitter.com/1/statuses/user_timeline.json', data: { screen_name: 'mick__romney'}, dataType: 'jsonp', success: function(data) { console.dir(data); //Array[20] alert(typeof data); //Object } });
この動作は、Array オブジェクトを Object 型とみなす JavaScript 仕様の特殊性に起因します。ただし、これは配列とオブジェクトが交換可能であることを意味するものではありません。変数が配列を表すかどうかを正確に判断するには、次のメソッドを使用します。
これらの手法を利用すると、変数にオブジェクトが含まれている場合でも、変数が配列であるかどうかを正確に識別でき、その配列のような動作とオブジェクトの分類との間の明らかな矛盾を解決できます。
以上がJavaScript でオブジェクトの配列に対して「typeof」が「object」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。