JavaScript基本【オブジェクト】
JavaScript基本【オブジェクト】
See the Pen LYYZbdx by すず@progateでお勉強はじめました (@hpsuzucat) on CodePen.
オブジェクトは、複数の値をまとめて管理するために使用します。
配列は値を並べて管理するのに比べ、オブジェクトは値にプロパティと呼ばれる名前をつけて管理するのが特徴です。
オブジェクトに関数を格納する
See the Pen abbZrde by すず@progateでお勉強はじめました (@hpsuzucat) on CodePen.
オブジェクトには関数を格納することもできます。
アロー関数を使用することも可能です。
クラスとインスタンス
See the Pen ExxyzWY by すず@progateでお勉強はじめました (@hpsuzucat) on CodePen.
クラスを作成することで、雛形を作ることができます。
そのクラスのコンストラクタに引数を指定することで、それぞれのインスタンスに固有の振る舞いをさせることが可能になります。
クラスの中でメソッドを使用することも可能になります。
コンストラクタ内で処理を記述した場合、インスタンスを生成するたびに呼び出されます。
クラス内のメソッドは明示的に記述したときのみ呼び出されます。
この動きの違いを覚えておかないと、適切な処理がされないので注意が必要です!!
継承・オーバーライド
See the Pen MWWedEx by すず@progateでお勉強はじめました (@hpsuzucat) on CodePen.
クラスは継承することで、子クラスが親クラスの機能をしようすることが出来るようになります。
しかし、逆(親クラスが子クラスの機能を使用する)ことはできないので注意が必要です。
また、親クラスと子クラスで同じ名称のメソッドがあった場合は、子クラスのメソッドが優先されます。
これは、子クラスが親クラスの機能を上書きしているということで、「オーバーライド」と呼ばれます。
コンストラクタのオーバーライド
See the Pen MWWedBM by すず@progateでお勉強はじめました (@hpsuzucat) on CodePen.
コンストラクタをオーバーライドする際は、super()で親のコンストラクタを呼び出してあげる必要があります。
引数が必要な場合は、()内で引数を記述する必要があるので、注意が必要です。
上記の例では、nameはそのまま、greetは上書き、trainerは子クラスからの新規プロパティを追加しています。