JavaScriptにおけるOOPのアクセサープロパティ

オブジェクトのプロパティには2つのタイプがあります。

最初のタイプはデータプロパティ(data properties)です。 これらをどのように扱うかはすでに知っています。これまで使用してきたすべてのプロパティは、データプロパティでした。

2番目のタイプのプロパティはまだ検討していません。 これはアクセサープロパティ(accessor properties)です。 本質的には、値を設定および取得するために使用される関数ですが、外部コードからは通常のオブジェクトプロパティのように見えます。

アクセサープロパティは、メソッド宣言時に記述されるキーワード get と set を使用して作成されます:

javascriptclass User {
  get name() {
  
  }
  set name(name) {
  
  }
}

このような宣言の結果、私たちのクラスは name プロパティを持つことになります。このプロパティを読み取ろうとすると、get を通じて宣言されたメソッドが呼び出されます:

javascriptlet name = user.name;

書き込みを試みると、set を通じて宣言されたメソッドが呼び出されます:

javascriptuser.name = 'john';
Задание 1

次のクラスが与えられています:

javascriptclass Employee {
  get name() {
    console.log('get');
  }
  set name(name) {
    console.log('set');
  }
}

このクラスのオブジェクトを作成し、プロパティ name へのデータの書き込みと読み取りを試みてください。