1. ホーム
  2. javascript

[解決済み] JavaScript ES6クラスにおけるプライベートプロパティ

2022-03-19 08:46:03

質問

ES6クラスでプライベートプロパティを作成することは可能ですか?

以下はその例です。 へのアクセスを防ぐにはどうしたらよいでしょうか? instance.property ?

class Something {
  constructor(){
    this.property = "test";
  }
}

var instance = new Something();
console.log(instance.property); //=> "test"

解決方法は?

プライベートクラスの特徴 ステージ3提案 . その機能の大半は 対応 すべての主要なブラウザで利用可能です。

class Something {
  #property;

  constructor(){
    this.#property = "test";
  }

  #privateMethod() {
    return 'hello world';
  }

  getPrivateMessage() {
      return this.#property;
  }
}

const instance = new Something();
console.log(instance.property); //=> undefined
console.log(instance.privateMethod); //=> undefined
console.log(instance.getPrivateMessage()); //=> test
console.log(instance.#property); //=> Syntax error