up:: JavaScript and TypeScript

コンストラクタ

ES6以前はクラスの概念はなかった。
そもそもコンストラクタとは日本語で構築子と書き、インスタンスを作り初期化する関数 のことを指している。

そのため昔の Javascriptでよく見るコンストラクタとは以下のもの。

function Person(name, age){
  this.name = name;
  this.age = age;
}
//呼び出すことでPerson関数のメソッドとしてnameとageを定義する関数(コンストラクタ)
//C++みたいにコンストラクタで先に変数定義! とかしなくていい
//さらにreturnも書かなくていい
 
let person1 = new Person(”太郎”, 22);
let person2 = new Person("次郎", 18);
//newをつけることで別々のものとしてインスタンスが作成できる
/*なお書き方がシンプルでないこと、
 関数リテラルや関数宣言に比べパフォーマンスに劣ることなどから、
 この関数コンストラクタは推奨されていない*/
 
console.log( person1.name );
console.log( person1.age );
 
console.log( person2.name );
console.log( person2.age );
 

言うまでもないが、今のJavascriptでこういうことをしたいならクラスを使えばいい。