オブジェクト
先日紹介した配列は値のみをグループ化するものでしたが、今日書いていくオブジェクトでは変数名と値をグループ化することができます。
先に構文を紹介します。
プロパティ名:値,
プロパティ名:値,
}
プロパティ名と値のペアをプロパティと呼びます。
プロパティはカンマ区切りでいくつでもかくことができます。
それぞれの値を取得したいときは添字をプロパティ名にすることで取得が可能です。
var tom = { country: "USA", tall: "180cm", weight: "65kg", }; console.log(tom["country"])
これでUSAという値を取得できます。
取得する書き方がもう一つあって、以下でも上と同じ値を取得できます。
var tom = { country: "USA", tall: "180cm", weight: "65kg", }; console.log(tom,country)
代入も可能です。
例えばtomの身長が185センチになった場合は
var tom = { country: "USA", tall: "180cm", weight: "65kg", }; tom.country = "185cm"; console.log(tom,tall)
と書くことでコンソールツールには185cmと表示されます。
メソッド
プロパティの値に関数を使用することもできます。
プロパティの値に関数したものをオブジェクトのメソッドといいます。
var tom = { country: "USA", tall: "180cm", weight: "65kg", speak: function(language) { console.log("He speak " + language); } }; tom.speak("English");
これでコンソールツールにはHe speak Englishと表示されます。
また、メソッドのなかで使える「this」というキーワードがあります。
いままで何回かthisを見たことはありましたが、メソッドのなかで使うものとは知りませんでした。
メソッド内でthisを使うと今いるオブジェクトを参照することができます。
実際の使い方です。
var tom = { country: "USA", tall: "180cm", weight: "65kg", speak: function(language) { console.log("He speak " + language + "because he come from " + this.country); } }; tom.speak("English");
上の例ではtomというオブジェクト内のプロパティ名がcountryであるものを取得します。
今までもやもやしてたthisの使い方がわかりました!成長!
成長を感じたところで今日はここまでにします。
せば!