とても”奇妙”な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件)
- ホワイトペーパー
- 企画特集
SOA、BPM、SaaS −今、企業に必要なこと
今注目の「サジェスト検索」−デモ掲載中
そのストレージで仮想化に対応できますか?
セキュリティ&ユーザ事例【SIer Club】
集積度も性能も、業界最高水準のブレードPC
◆エン・ジャパン厳選求人☆毎週更新◆
御社のログ活用しませんか!?
中小企業のセキュリティリスクとは?
ESBでIT投資の無駄を劇的に解消する
インターネット上の悪意を未然に防ぐには?
ロリポップ!がリニューアル
ストレージメディア特設サイト開設
仮想環境を実現するソリューション特集
パンデミック対策特集
【徹底対談】運用管理ツールの賢い使い方
- ■ストレージ容量50%削減保証■
- サーバー監視・運用のコストを削減するには
- エンタープライズにおけるSUSEの強み
- サービス・ドリヴン・データセンター
- 話題のタグ
iPod touch
Apple
Webデザイン
CSS
脆弱性
インストール
Windows
Linux
データベース
Database
セキュリティ
Adobe
Mac OS X
Windows Vista
Mozilla
ソフトウェア開発
仮想化
Flash
Java
Firefox
Safari
UI
iPhone
PHP
リファレンス
Webサービス
Firefox 3
Opera
SOA
開発環境
ブラウザ
Chrome
オープンソース
Off Topic
プログラミング言語
小技
アプリケーション
Internet Explorer
iPhone 3G
Ajax
WebKit
モバイル
OS
JavaScript
Windows 7
Tips
RIA
HTML
Google
Microsoft
話題のタグを見る »
Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――