小编典典

JavaScript ES6 类中的私有属性

all

是否可以在 ES6 类中创建私有属性?

这是一个例子。如何防止访问instance.property

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

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

阅读 165

收藏
2022-03-11

共1个答案

小编典典

私有类功能第 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
2022-03-11