7月20日 学習記録

実施内容

・progate

JavaScript IV

第1章:クラスの基本

本日学習したこと

JavaScriptにおける、クラス、インスタンス、コンストラクタ、メソッドについて学習した

1:オブジェクトの概要について復習

オブジェクトとは、その変数における値とその値に対応する名前(プロパティ)をまとめて管理するものである。

オブジェクトは以下のように記述する。

下記の例では、プロパティ名nameに対応する値が手裏剣、priceに対応する値が300となる。

const item ={name:"手裏剣",price: 300}

※この部分はオブジェクトに対する理解が不十分で分かりづらいと思われるので後日に修正する

2:クラスとは

簡単に言えば、「オブジェクトの設計図」のようなもの。

例えば、ユーザーのデータを複数生成する場合、「ユーザーを生成するための設計図」を作っておき、それを元に各ユーザーのデータを生成するようなイメージ。

クラスは以下のように記述する。

class クラス名 {

メソッドやプロパティなど

}

3:インスタンスとは

インスタンスとは、クラスを元に生成されたオブジェクトのこと。

あるクラスをインスタンス化する為には、以下のように記述する。

const 定数名 = new クラス名();

4:コンストラクタとは

コンストラクタとは、クラスからインスタンスを作成する際に実行する処理を記述したもの。以下のように記述する。(処理の内容は一例)

例のように「this.プロパティ名 = 値」とすることで、生成されたインスタンスにプロパティと値を設定できる

const クラス名() {

constructor(){

this.name = "レオ"

}

}

コンストラクタには引数を設定することもできる。その場合の記述方法は関数と同じ。

5:メソッドとは

メソッドとは、そのインスタンスが備える振る舞いのようなもの。

プロパティはそのクラスの「名前」などを設定するのに対し、メソッドは「計算をする」、「条件判定をする」などの動作を設定する

メソッド名は以下のように記述する。メソッドを呼び出す場合は、「インスタンス名.メソッド名」と記述する。

const クラス名() {

メソッド名(){

処理内容

}

}

メソッドには引数を設定することもできる。その場合の記述方法は関数と同じ。

今日のエラー

今日はなし

疑問に思ったこと

コンストラクタを記述する際に、progateでは「constructor()」という書き方しか書かれていなかったが、コンストラクタ名は任意につけられないのか?(Javaのコンストラクタは自分で名前を決められたはず)