前回は、配列とオブジェクトについて紹介しました。
今回は、クラスについて紹介します。
クラスとは
クラスはオブジェクトの構造を定義します。
例えば、前回作成したオブジェクト。
const human ={ name: 'pasota', height: 173, weight: 66, };
name が pasota でその他のプロパティが設定されてる状態ですが、同じようなデータ構造で他にも色々用意したい場合。
const human1 ={ name: 'pasota', height: 173, weight: 66, }; const human2 ={ name: 'herohero', height: 160, weight: 50, };
上記のように書いても良いのですが、クラスを作った方がわかりやすいです。
class Human { constructor(name, height, weight) { this.name = name; this.height = height; this.weight = weight; } } const pasota = new Human('pasota', 173, 66); const herohero = new Human('herohero', 160, 50);
constructor(コンストラクタ)というのは、初期化のときに実行される特殊なメソッド(関数のようなもの)です。
this というのは、自分自身を表しています。
new というキーワードがありますが、これはクラスからインスタンスを生成するときに使います。
こういった書き方は他のプログラミング言語でもわりと良く使うので覚えておくと良いかと思います。
また、クラス内にはメソッドという関数を定義することができます。
class Human { constructor(name, height, weight) { this.name = name; this.height = height; this.weight = weight; } selfIntro(){ console.log(`My name is ${this.name}.`); } } const pasota = new Human('pasota', 173, 66); const herohero = new Human('herohero', 160, 50); pasota.selfIntro(); herohero.selfIntro();
selfIntro というメソッドを作りました。
結果は以下の通りです。
ちなみに `(バッククォート)で囲んでいるのは、テンプレートリテラルというものです。
最後に
いかがでしょうか。
今回の内容はオブジェクト指向を取り入れたプログラミング言語であれば、全て必要な知識です。
確実に自分のものにしていきましょう。
私もがんばります。