##オブジェクトでできること
ひとつの変数・定数に対して複数の値を代入し、管理することができる(配列と同様)。
##オブジェクトの書き方
####配列との違い
配列はインデックス番号で要素を管理するのに対して、オブジェクトでは値にプロパティをつけて管理する
object-1.js
const user = {name: "Taro", age: 18, mail: "taro@xxxx.jp"};
console.log(user);
//コンソール
//{name: "Taro", age: 18, mail: "taro@xxxx.jp"}
上記のコードでは、name
, age
,mail
の3つのプロパティを用いている。
要素は中括弧({})で囲う。プロパティと値の間はコロン(:)を入れ、要素と要素の間はカンマ(,)で区切る。
####プロパティを用いた値の取得
object-2.js
const user = {name: "Taro", age: 18, mail: "taro@xxxx.jp"};
console.log(user.age);
user.age = 24;
console.log(user.age);
//コンソール
//18
//24
個々のプロパティの値は、オブジェクト名.プロパティ名
とすることで取得することができる。
また、配列と同じく、値を代入することでプロパティ内の値を更新することができる。
####undefined(未定義値)
定義されていない値を取得しようとすると、コンソール上では**undefined(未定義値)**と出力される。
object-3.js
const users = [
{name: "Taro", age: 18, mail: "taro@xxxx.jp"},
{name: "Kazuo", age: 21, mail: "kazuo@yyyy.jp"},
{name: "Hanako", age: 24, mail: "hanako@zzzz.jp"}
];
console.log(users[3]);
console.log(users[1].address);
//コンソール
//undefined
//undefined
上記のコードでは、配列usersのインデックス番号3番のオブジェクトとインデックス番号1番のプロパティaddressの値を取得したが、いずれも値が定義されていないため、コンソール上ではundefinedと出力されている。