ES6 类变量替代方案
在 ES5 中,类通常使用包含类变量的模式的框架来创建。然而,在 ES6 中,没有内置的创建类变量的机制。
为了解决这个问题,人们提出了各种方法,但没有一个被证明完全令人满意。例如,创建一个 ClassConfig 处理程序并传递一个单独的参数对象,或者使用 WeakMaps,已经被考虑过,但有局限性。
2018 年,引入了类变量的第 3 阶段提案。该提案允许在类声明/表达式中使用以下语法:
varName = value
此语法定义类中的变量。然而,该提案仍在开发中,尚未最终确定。
根据 ES wiki,反对在 ES6 规范中包含类变量的决定是有意的。类定义的目的是声明类的功能,而不是其成员。类定义中指定的属性会被分配属性,就像它们出现在对象文字中一样。
因此,要定义类变量,首选方法是使用构造函数:
constructor(){ this.foo = bar }
另一种方法ES7 的提案正在开发中,旨在通过类声明和表达式实现更简洁的实例变量。此提案仍在讨论中,尚未最终确定。
以上是ES6 及更高版本中如何实现类变量?的详细内容。更多信息请关注PHP中文网其他相关文章!