本記事ついて
本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
クラス、インスタンス、インスタンス化の定義を説明
クラスとは
オブジェクトの特性を定義するひな形
インスタンス化とは
クラスを元にしてオブジェクトを生成することをインスタンス化
インスタンスとは
インスタンス化により生成されたオブジェクトをインスタンス
クラス定義とnew演算子によるインスタンス化
クラス定義は、class分を使用して記述する。
class クラス名 {
//クラス定義
}
クラスをインスタンス化するには、new演算子を使って記述をする。
new クラス名 (引数1, 引数2, ...)
クラスを使用する場合は、グローバル領域に記述してグローバルとすることが多い。
ローカルスコープだと、そのスコープ内でしか使えないため。
コンストラクタ
クラスというのは、どのようなプロパティやメソッドをインスタンスに持たせるかを定義したものと言い換えることができる。
クラスにプロパティを定義するには、コンストラクタと言う特別な関数を使用する。
コンストラクタというのは、クラスをインスタンス化する際に、最初に呼び出される関数
コンストラクタを定義するにはclass文内にconstructorと言う名前のメソッドを定義する。
これをconstructorメソッドと言う。
構文
class クラス名 「
constructor(仮引数1, 仮引数2, ...) {
//処理
}
}
constructorメソッドはnew演算子を用いたインスタンス生成時に呼び出される。
構文
new クラス名(仮引数1, 仮引数2, ...)
お試し
function toshiki() {
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
};
const p1 = new Person('利樹', 4);
console.log(p1);
const p2 = new Person('アッキー', 9);
console.log(p2);
}
thisキーワード
コンストラクタ内でthisと記述した場合、それはこれから生成されるインスタンスのことを表す。
インスタンスのメンバーの変更
インスタンスはオブジェクトですから値の変更や追加が可能
お試し
function toshiki() {
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
};
const p1 = new Person('利樹', 4);
p1.age += 5;
p1.favorite = 'みかん';
console.log(p1);
}