JavaScriptでの「配列のようなオブジェクト」とは
JavaScriptでの「配列のようなオブジェクト」とは:
JavaScriptには「配列のようなオブジェクト」があるらしいので、そのメモ。
ArrayLikeObject や FakeArrayObject と呼ぶらしい。
Array.prototypeを継承していないため、
・Array.prototype.forEach()
・Array.prototype.map()
とかが使えない。
lengthプロパティを持ち、数字の添字でアクセスすることができる。
ArrayLike Objectをシンプルに表現すると
のようになる。
・
・
・関数呼び出し時に渡された引数のリスト
など、他にもあるのかな、、
※ NodeListとHTMLCollecitonの違いについて、以下を参照
「NodeList」と「HTMLCollection」の違いには気をつけよう
ただIEの古いバージョンでは、エラーになるみたい。その場合は、
JavaScriptには「配列のようなオブジェクト」があるらしいので、そのメモ。
配列のようなオブジェクトとは
ArrayLikeObject や FakeArrayObject と呼ぶらしい。Array.prototypeを継承していないため、
・Array.prototype.forEach()
・Array.prototype.map()
とかが使えない。
lengthプロパティを持ち、数字の添字でアクセスすることができる。
ArrayLike Objectをシンプルに表現すると
const arrayLikeObject = { 0: "a", 1: "b", 2: "c", 3: "d", length: 4 };
配列のようなオブジェクトに当てはまるのは
・document.querySelectorAllが返すNodeList・
document.getElementByTagNameが返すHTMLCollection・関数呼び出し時に渡された引数のリスト
argumentsなど、他にもあるのかな、、
※ NodeListとHTMLCollecitonの違いについて、以下を参照
「NodeList」と「HTMLCollection」の違いには気をつけよう
配列のようなオブジェクトを配列として使いたい時
Array.prototype.slice.callで配列に変換可能。ただIEの古いバージョンでは、エラーになるみたい。その場合は、
Array.apply(null, ...)を使うと変換可能。
コメント
コメントを投稿