とても”奇妙”なJavaScriptの配列:JavaやCとは違うのだよ

白石俊平(あゆた)
2008/02/07 11:00

JavaやCとは全く異なるJavaScriptの配列。これをわかりやすく整理してみた。

前回のまとめと今回のあらすじ

 JavaScriptをより深く知りたい人のための当連載、今回が7回目です。

 前回はJavaScript配列に関して基本的なトピックを網羅してみました。今回はいよいよ、JavaScript配列の本質に迫ってみたいと思います。

Java/Cとは全く異なる、JavaScript配列

 JavaScript配列は、JavaやCとは全く違うデータ構造だ。このことは、JavaやCの経験が元々ある人の方が気づきにくいかもしれません(僕がそうでした)。

 では、JavaScript配列とは何なのか?

 いきなり答えを言ってしまいましょう。JavaScript配列とは、以下のような特徴を持つデータ構造です。

  1. Cのように、値を複数格納できる「連続したメモリ領域」とはまったく違う配列JavaScriptオブジェクトであり、つまりハッシュテーブルである
  2. 配列の添え字はハッシュのキーである。JavaScriptオブジェクトのキーには数値も使える事を押さえておこう(連載第3回参照)。
  3. 極めて特殊なlengthプロパティを持つ。lengthプロパティは「インデックス最大値 + 1」を表すプロパティ
  4. lengthプロパティは読み取りだけでなく書き込みも可能。書き込むと、その大きさまで配列が切り詰められる

 さらにわかりやすいように、配列を一言で説明すると、「非常に変わった性質を持つlengthプロパティを持つが、それ以外は通常のJavaScriptオブジェクトである」と言えます。

 では、次のページでこれらを検証してみましょう。読者の皆さんもぜひ試してみてください。

記事に関係する情報をコメントでお寄せください

ニックネーム : CNET_IDにログインしてコメントする

コメント本文(必須) :
  • 2日前のトップ記事
  • 3日前
  • 4日前
  • 9日前
  • 10日前
  • 新着記事
  • 人気記事
  • 特集
  • ブログ