您的位置:首页 > 编程语言 > Go语言

Google V8 7.2和Chrome 72引入公共类字段,私有类字段即将发布

2018-12-16 00:00 861 查看

前天,谷歌宣布他们将在V8 7.2和Chrome 72中引入公共类字段,并将很快发布私有类字段。这些新的类字段语法由Daniel Ehrenberg和Jeff Morrison在提交给ECMA TC39的提议中引入,该提议称为JavaScript的类字段声明,现在处于第3阶段。

根据该建议,预先声明字段将确保实例经历更少的状态转换,并且类定义将变得更加自文档化。

公共类字段(Public class fields)

公共类字段语法旨在简化类定义。这也将消除构造函数只需定义一些字段的需要。以下是根据以下语法实现类的方法:

class IncreasingCounter {
  _count = 0;
  get value() {
    console.log(‘Getting the current value!’);
    return this._count;
  }
  increment() {
    this._count++;
  }
}

私有类字段(Private class fields)

JavaScript中的字段使用_标记为私有。这使得该领域按惯例隐藏,但事实上,它是完全公开的。要使字段保密,我们可以用#标记它们,这意味着它们不能在类体外部访问。

class IncreasingCounter {
  #count = 0;
  get value() {
    console.log(‘Getting the current value!’);
    return this.#count;
  }
  increment() {
    this.#count++;
  }
}

虽然在JavaScript中,需要某种机制来提供封闭之外的私有或受控访问,但这个提议似乎非常草率,正如一些开发人员所认为的那样。有网友说,“这种语法很奇怪。它不具有表现力,而是作为一种“语言黑客”而出现的。唯一能够理解它的人就是碰巧偶然发现这篇文章的人。“

详细了解Google Developers,并查看GitHub上的提案。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Google V8 Chrome 72