es 6のclassとclassのconstructor関数の理解方法

1403 ワード

まず、「文法糖」とは、従来技術では実現できたが、ある書き方を採用するとより簡潔で優雅になるという意味だ.最も一般的なのは、宣言対象に文法糖var a={b:111}が採用されていることです.ES 6のclassはただ1つの文法糖と見なすことができて、そのほとんどの機能、ES 5はすべてやり遂げることができて、新しいclassの書き方はただ対象の原型の書き方を更にはっきりさせて、更に対象に向かってプログラミングする文法に似ています.
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)。