class/this


class
コンストラクション関数とプロトタイプを使用して以前に作成したインスタンス.
クラスを使用してグループ化することで、ビューを変更できます.(同じ機能)
class A {
  constructor(aaa = 'aaa') {
      this.aaa = aaa;
  }
 	
  static isA(a) { // 정적 메소드(클래스로 사용)
    return a instanceof A;
  }

  aa() { // prototype에 들어감
    console.log('aa');
  }
}

class B extends A {
  constructor(aaa, bbb) {
    super(aaa), // 부모 생성자 실행
    this.bbb = bbb;
  }

  bb() {
    super.aa();
    console.log('bb');
  }
}
this
一般関数は호출위치によってthis(独自のthis)が決定されます.
矢印関数は、自身が선언である関数の範囲内で継承されます.(自分のいないthis)
button.addEventListener('click', function() {
  this.textContent; // 클릭
})
// 콜백함수가 호출될때 this 결정

this;
button.addEventListener('click', (e) => {
  this.textContent; // undefined
  e.target.textContent; // 클릭
})
// 선언될 때 this 결정 (부모함수(클래스)의 this)
簡単に言えば、thisを使用する場合、一般的には一般的な関数を使用することが望ましい.(呼位置によってはthisが選択可能)
ただし、関数内で再び関数を呼び出すときに親関数のthisを継承したい場合は、矢印関数の方が簡単です.