2025-08-11 ES6私有类字段:实现JavaScript封装的艺术 ES6私有类字段:实现JavaScript封装的艺术 一、被打破的封装幻想在ES6之前,JavaScript开发者常使用闭包或WeakMap模拟私有成员:javascript // 传统闭包方案 function Person(name) { let _age = 0; // 伪私有变量 this.name = name; this.getAge = () => _age; }// WeakMap方案 const _age = new WeakMap(); class Person { constructor(name) { _age.set(this, 0); this.name = name; } }这些方案存在三个致命缺陷: 1. 实例方法重复创建导致内存浪费 2. 继承体系下的访问失控 3. 静态分析工具无法识别二、#符号的封装革命ES2022正式引入的私有字段语法:javascript class BankAccount { #balance = 0; // 真正的私有字段deposit(amount) { this.#balance += amount; } }实现原理... 2025年08月11日 3 阅读 0 评论