[MDN](https://link.segmentfault.com/?enc=XN8%2FpUHoCwjXCRSULTzZAw%3D%3D.liEvU44pcEDs2fiOEf6fU%2FkFPUZvd3ZOeuL%2Fns6IUMOH7nqwtYm4NLxH17HZ9P6zEfiHtefzZoaQfhYJej4pXg0heU1KjG%2FoVMKezKr60yafVvqr4tz2xjxmGAwBAgEab3Ip4S20pwJvVyoh5NAwJXIvmIWTcXw7d1ywpqUmzwCLZuGgHwhNKLUbFt6g%2F7ly%2BY4pBHjzNSmqjBADCzPffPc8wg%2B1KyVHNhN2cUqtwseFRGkUeY05kNLtuM%2FqzKghk%2FFDJq9S5GHzEdk115jkBg7L5GIC68uYSQpgG%2B3OXn8tGiWuok7rpqRRMZoxhaaF9JGikHJTbz90iPWeruVR7w%3D%3D) 说私有属性是原型继承中没有简单替代方案的特性:  可是不是能用闭包写私有属性吗: function C() { // 私有属性 let value = 0; Object.defineProperty(this, "v", { get: () => value, set: (v: number) => value = v, }); } es6 类写法: class C2 { #value = 0; get v() { return this.#value; } set v(v) { this.#value = v; } } 这两种写法有什么区别吗?