オブジェクトリテラルとJSON:続JavaScriptのオブジェクトについて
白石俊平
2008/01/22 08:00
JavaScriptオブジェクトについてさらに高度な話題として「オブジェクトリテラル」と「JSON」についてお話ししたいと思います。
JavaScriptをより深く知りたい人のための当連載、今回が四回目です。
前回は、JavaScriptのオブジェクトは「ハッシュテーブルのようなもの」として捉えることができ、「[ ]」演算子と文字列の組み合わせでメンバにアクセス可能である、と言うことを説明しました。
今回は、JavaScriptオブジェクトについてさらに高度な話題として「オブジェクトリテラル」と「JSON」についてお話ししたいと思います。
オブジェクトリテラルとは
オブジェクトリテラルとは何か?を説明するためにも、簡単に前回の復習をしましょう。 前回は、「JavaScriptオブジェクトはハッシュテーブルのようなものだ」と言う前提のもとに、生成したオブジェクトに対して変数や関数を追加し、参照すると言う例をお見せしました。
// 新しいオブジェクトの作成
var obj = new Object();
// メンバーとしてv1とf1を代入
obj.v1 = "変数1";
obj.f1 = function() {
alert("関数1");
};
// 別のオブジェクトを作成し、obj.nestedに代入
var obj2 = new Object();
obj2.str = "文字列";
obj.nested = obj2;
オブジェクトを新たに作成し、メンバを一つ一つ指定しています。いわばオブジェクトの初期化を行っている訳ですが、これに関してはもっと簡便な方法で処理を記述することができます。上とほぼ同じ処理を行う、以下のコードをみてください。
var obj = {
v1: "変数1",
f1: function() {
alert("関数1");
},
// オブジェクトの入れ子
nested: {
str: "文字列"
}
};
ずいぶんすっきりしていると思いませんか?オブジェクトに格納する「キー」と「値」が、「:」(コロン)の前後にわかりやすく並べられています。この記述方法は、ECMAScriptにおける「オブジェクトリテラル」と言う書式に基づいています。「オブジェクトリテラル」は、次のように定義されています。
- 「{ }」(中括弧)で囲み、中にプロパティをカンマ区切りで複数記述できる。
- プロパティは、「プロパティ名 : 値」と言う形式で記述する。
- プロパティ名は、識別子/文字列/数値。
- 値は、代入式の右辺と成り得る式。
この書式を用いれば、オブジェクトの生成と初期化を一つの式で済ませることができる上、非常にコードが見易くなるので、最近のJavaScriptプログラミングでは多用されています。
- 1人の推薦記事
- 2人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(1)
- 特集: JavaScriptのイロハ (16件)
- ホワイトペーパー
- 話題のタグ
イロハ
小技
ブラウザ
Leopard
Google
Ruby on Rails
オープンソース
JavaScript
IDE
Tips
C/C++
仮想化
フレームワーク
PHP
Off Topic
まとめ
SOA
Internet Explorer
Firefox
server
Mozilla
Safari
MySQL
Windows
Database
Webデザイン
Apple
Ruby
Apache
CSS
XHTML
リファレンス
Firefox 3
Webアプリケーション開発
Flash
ライブラリ
Linux
入門
HTML
iPhone
Adobe
Microsoft
Ajax
Python
Mac OS X
Eclipse
iPod touch
Java
開発環境
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運用管理ツール