いろんな種類のデータを扱う時
例えば、「美浜さん」と言う人のデータを定義するときに、、、
①変数でやってみると
var personName = '美浜ちよ';
var personAge = 10;
var personGender = 'female';
document.write(personName); //=> 美浜ちよ
と書き出しが多くなってしまう。
②配列を使ってみると
var person = ['美浜ちよ', 10, 'female'];
var person = person[0];
document.write(person); //=> 美浜ちよ
と1つにまとまったが、今度は内訳が何を意味してるのか分かりづらい。
③オブジェクトを使うと以下の様に出力できる。
var person = {
name: '美浜ちよ',
age: 10,
gender: 'female'
};
var name = person.name;
document.write(name); //=> 美浜ちよ
③−①入れ子になってるオブジェクトの吐き出し
var person = {
name: '美浜ちよ',
age: 10,
gender: 'female',
address: {
pstcode: '100-0001',
pref: '東京都',
city: '千代田区'
}
};
var city = person.address.city;
document.write(city); //=> 千代田区
オブジェクトの書き方
名前と値のペアを「プロパティ」、値につける名前を「プロパティ名」と言います。
オブジェクトは{}で括って定義し、プロパティ名と値を(;)で区切り、それぞれのペアをカンマ(,)で区切ります。
下の様なひな形がよく使われる。↓
var obj = {
key1: val1,
key2: val2,
key3: val3
};
オブジェクト②
[]を使ってプロパティ名を指定して値を取得
オブジェクトの値の取得方法にはもう1つあります。
配列と同じ様に[]を使ってプロパティ名を指定する方法です。
var person = {
name: '美浜ちよ',
age: 10,
gender: 'female'
};
var key = 'name';
var name = person[key];
document.write(name); //=> 美浜ちよ
この様に変数を使って値を取得するには[]を使う必要がある。
よって[]を使わないと取得出来ないとき以外は、前回やった「ピリオド」を使うのが一般的である。
プロパティの追加
存在しないプロパティ名に値を代入すると、新しくプロパティを作ることが出来る。
var person = {
name: '美浜ちよ',
age: 10,
gender: 'female'
};
person.kana = 'みはまちよ';
document.write(person.kana); //=> みはまちよ