とても”奇妙”な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のイロハ (19件)
- 今日のトップ記事
- 昨日
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
Java
モバイル
Windows XP
Opera
ブラウザ
OS
仮想化
HTML
Linux
オープンソース
JavaScript
Database
インストール
Apple
プログラミング言語
アプリケーション
Chrome
脆弱性
Tips
Windows Vista
Mac OS X
マイクロソフト
Windows 7
Ajax
WebKit
Firefox 3
Webサービス
iPhone 3G
iPhone
データベース
iPod touch
Firefox
開発環境
RIA
Flash
ソフトウェア開発
UI
クラウド
Internet Explorer
Webデザイン
セキュリティ
Microsoft
Windows
Google
Off Topic
Safari
Mozilla
リファレンス
小技
CSS
話題のタグを見る »
「Google Chrome」の拡張機能、開発者からのアップロード受付を開始
IMAPでGmailを受信、最も手っ取り早いのは?Windows 7、Ubuntu 9.10、Snow Leopardのメーラー比較
Snow LeopardではNTFSをサポート--その源流を訪ねる(2)
MS運営のオープンソース開発プロジェクト支援サイト「CodePlex」を探検する(2)
Snow LeopardではNTFSをサポート--その源流を訪ねる(1)
フォトレポート:「Windows Server 2008 R2」--あまり知られていない有用な機能10選
100万円で実現!中小企業の情報漏えい対策
高まるiSCSIストレージへの注目度
企業ITシステムの企画、構築、運用のイロハ
電力に"ふた"をする独自の省エネ機能とは!?
大丈夫?あなたの会社のセキュリティ対策
【最終警告】パンデミック対策特集
―エン・ジャパン厳選求人☆毎週更新―