以前の質問に似ています: JavaScript ES6 クラスのプライベート プロパティ
この質問は、プライベート変数を格納するために WeakMaps と Symbols を使用することの出現と関係があります。ファイルの先頭でプライベート メンバー構造を宣言するので、すべての関数クロージャが必要ではないでしょうか?
const _color = Symbol('color');
class colorPicker {
constructor(color) {
this[_color] = color;
}
}
_color は、巻き上げられていなくても、window 名前空間に含まれるようになりました。これは適切ですか?それともIIFEをラップする必要がありますか?
ECMA はこれで何かを見逃しているように見えますか? それとも、ESNext でプライベートおよびパブリックの予約済みキーワードを実際に使用するつもりですか?