es 6のclassとclassのconstructor関数の理解方法
1403 ワード
まず、「文法糖」とは、従来技術では実現できたが、ある書き方を採用するとより簡潔で優雅になるという意味だ.最も一般的なのは、宣言対象に文法糖var a={b:111}が採用されていることです.ES 6のclassはただ1つの文法糖と見なすことができて、そのほとんどの機能、ES 5はすべてやり遂げることができて、新しいclassの書き方はただ対象の原型の書き方を更にはっきりさせて、更に対象に向かってプログラミングする文法に似ています.
に等しい
constructorでsuperメソッドを呼び出す必要があります.サブクラスには独自のthisオブジェクトはなく、親のthisオブジェクトを継承し、加工します.superは親構造関数を表します.あなたのインスタンスに対してComponent(props)を実行することに相当します.ただし、ここでthisはサブクラスを指します.もっと厳密なのは
function Point(x, y) {
this.x = x;
this.y = y;
}
Point.prototype.toString = function () {
return '(' + this.x + ', ' + this.y + ')';
};
に等しい
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
toString() {
return '(' + this.x + ', ' + this.y + ')';
}
}
constructorでsuperメソッドを呼び出す必要があります.サブクラスには独自のthisオブジェクトはなく、親のthisオブジェクトを継承し、加工します.superは親構造関数を表します.あなたのインスタンスに対してComponent(props)を実行することに相当します.ただし、ここでthisはサブクラスを指します.もっと厳密なのは
Component.prototype.constructor.call(this,props)。