とても”奇妙”な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の配列とは、以下のような特徴を持つデータ構造です。
- Cのように、値を複数格納できる「連続したメモリ領域」とはまったく違う。配列はJavaScriptオブジェクトであり、つまりハッシュテーブルである。
- 配列の添え字はハッシュのキーである。JavaScriptオブジェクトのキーには数値も使える事を押さえておこう(連載第3回参照)。
- 極めて特殊なlengthプロパティを持つ。lengthプロパティは「インデックス最大値 + 1」を表すプロパティ。
- lengthプロパティは読み取りだけでなく書き込みも可能。書き込むと、その大きさまで配列が切り詰められる
さらにわかりやすいように、配列を一言で説明すると、「非常に変わった性質を持つlengthプロパティを持つが、それ以外は通常のJavaScriptオブジェクトである」と言えます。
では、次のページでこれらを検証してみましょう。読者の皆さんもぜひ試してみてください。
- 特集: JavaScriptのイロハ (16件)
- 今日のトップ記事
- 昨日
- 3日前
- 4日前
- 5日前
- 7日前
- ホワイトペーパー
- 話題のタグ
Tips
JavaScript
Eclipse
ライブラリ
Ruby
Linux
Google
Java
Windows
Mac OS X
Microsoft
小技
Internet Explorer
Apple
入門
Off Topic
SOA
CSS
iPod touch
Mozilla
PHP
フレームワーク
HTML
オープンソース
ブラウザ
リファレンス
Ruby on Rails
Firefox 3
C/C++
server
まとめ
PostgreSQL
Webアプリケーション開発
開発環境
Ajax
Firefox
仮想化
XHTML
iPhone
Apache
Flash
Leopard
イロハ
Webデザイン
Safari
Database
Adobe
MySQL
Python
RIA
話題のタグを見る »
仮想化Java環境のスループットを2倍に--BEA LiquidVMの適応型メモリ管理
Firefox 3が対応したdisplayプロパティの値(3) - inline-table
MSもアドビも学生さんに開発ソフトを無償提供
「Economist」のトップページがリニューアル
あなたがプログラムを理解できない10の理由:第2回
新APIまもなく登場--Google Developer Day 2008の見所とは?
-Simplify IT- ITをシンプルに 連載第2回
内部統制対策を実現するIT運用管理ツール
リスティング広告における競争優位性の維持