JavaScriptのOOPにおけるプライベートプロパティ

外部から読み書きできるオブジェクトのプロパティはパブリックと呼ばれます。 また、クラス内部でのみアクセス可能なプライベートプロパティも存在します。

プライベートプロパティの名前は#記号で始める必要があります。 さらに、そのようなプロパティはクラスコードの冒頭で宣言されなければなりません。 これを実装してみましょう:

javascriptclass User {
  #name;
}

次に、このプロパティにデータを書き込みます。 これは、例えばクラスのコンストラクタ内で行うことができます:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
}

ここで、このプロパティの値を返すメソッドを作成しましょう:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

ユーザー名をパラメータとして渡し、 クラスのオブジェクトを作成しましょう:

javascriptlet user = new User('john');

クラスの外部でこのプロパティに直接アクセスしようとすると、 エラーが発生します:

javascriptconsole.log(user.#name); // エラー

しかし、作成したメソッドを呼び出すことで、 このプロパティを読み取ることができます:

javascriptconsole.log(user.show()); // 'john' を出力
Задание 1

Employeeクラス内で、 名前、給与、年齢という3つのプライベートプロパティを作成してください。

Задание 2

これらのプロパティの値をコンストラクタのパラメータとして渡してください。

Задание 3

従業員のデータを表示するメソッドを作成してください。