JavaScriptでの「配列のようなオブジェクト」とは

JavaScriptでの「配列のようなオブジェクト」とは:

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, ...)を使うと変換可能。

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)