Es 6 classおよび構造関数(constructor)
Es 5では、生成インスタンスオブジェクトは、関数を構築することによって生成される.
Es 6はclassの概念を引用し,java,c++などの言語に近づき,より直感的になる.次のようになります.
この2つの書き方は同じで、es 6ではclassは文法糖と理解することができますが、この書き方をより直感的にすることができます.注意すべきは、es 6で新しいインスタンスを宣言するにはnewで宣言する必要があります.ここでconstructorはクラスのデフォルトメソッドであり、newの呼び出しでこのメソッドを実行できます.各クラスにはこの方法が必要です.定義が表示されていない場合は、空のconstructorがクラスに追加されます.constructorメソッドは、デフォルトでインスタンスオブジェクト、すなわちthisを返します.他のオブジェクトに戻ることもできます.このことは、新しいインスタンスinstanceofの現在のclassが間違っています.
function Fun(a,b) {
this.a = a;
this.b = b;
}
Fun.prototype.showA = function () {
console.log(this.a)
}
var fun = new Fun(1,2);
fun.showA();//1
Es 6はclassの概念を引用し,java,c++などの言語に近づき,より直感的になる.次のようになります.
class Fun {
constructor(a,b){
this.a = a;
this.b = b;
}
showA() {
console.log(this.a);
}
}
var fun = new Fun(1,2);
fun.showA();//1
この2つの書き方は同じで、es 6ではclassは文法糖と理解することができますが、この書き方をより直感的にすることができます.注意すべきは、es 6で新しいインスタンスを宣言するにはnewで宣言する必要があります.ここでconstructorはクラスのデフォルトメソッドであり、newの呼び出しでこのメソッドを実行できます.各クラスにはこの方法が必要です.定義が表示されていない場合は、空のconstructorがクラスに追加されます.constructorメソッドは、デフォルトでインスタンスオブジェクト、すなわちthisを返します.他のオブジェクトに戻ることもできます.このことは、新しいインスタンスinstanceofの現在のclassが間違っています.