类似于我有一段时间的问题: JavaScript ES6 类中的私有属性
这个问题更多与使用 WeakMaps 和 Symbols 存储私有变量的出现有关。由于我将在文件顶部声明任何私有成员结构,这是否需要围绕所有它的函数闭包?
const _color = Symbol('color');
class colorPicker {
constructor(color) {
this[_color] = color;
}
}
_color 现在将在窗口命名空间中,即使没有被提升。这合适吗?还是应该将 IIFE 包裹起来?
似乎 ECMA 可能错过了一些东西?还是他们打算在 ESNext 中实际使用私有和公共保留关键字?