オブジェクトとは
オブジェクトとは配列と同じようにグループ化されたデータです。
配列では値のみがグループされていましたが、オブジェクトでは名前と値のペアがグループ化されています。
PHPでいうところの連想配列に近いものです。
下記のように名前と値のペアを定義します。
var user = {
name: "Tom", // プロパティ
mail: "tom@email.com",
score : 80
};
このそれぞれのペアをプロパティといいます。
また、名前のことをプロパティ名といいます。
オブジェクトにアクセスする
var user = {
name: "Tom", // プロパティ
email: "tom@email.com",
score : 80
};
console.log(user["name"]); // 出力「Tom」
console.log(user.name); // 出力「Tom」
user.score = 100;
console.log(user.score); // 出力 100
それぞれのプロパティの値にアクセスするには、
- 配列と同じようにuser[]として、添字をプロパティ名に
- 大括弧を使わずに「.」でつなげてプロパティ名を使う
という、2つの方法があります。値の書き換えも可能です。
メソッドとは
オブジェクトはプロパティの値に関数を持つことも可能です。
その関数のことをオブジェクトのメソッドといいます。
var user = {
name: "Tom",
email: "tom@email.com",
score : 80,
greet: function(name) { // メソッド
console.log("hello, " + name + " from " + this.email);
}
};
user.greet("Bob");
// 出力 「hello, Bob from tom@email.com」
例えば上記のようにgreetというプロパティを作って、そこに関数を仕込んでいきます。
すると、引数(Bob)を渡して使うことができます。
メソッド内の「this」は今自分がいるオブジェクトを参照しますので他のプロパティもアクセスすることができます。