不支持。javascript私有字段(#name)无法通过解构访问,因其仅限类内部使用,外部解构会报syntaxerror;需通过公共属性、getter或类内方法暴露数据后才能解构。

不支持。
JavaScript 中的私有字段(以 # 开头,如 #name)是类内部的封装机制,无法通过对象解构访问或提取,因为它们在语言层面就禁止外部读取——解构赋值属于“外部访问”,自然被拦截。
- 私有字段只在定义它的类内部可访问(包括构造函数、方法、getter/setter),外部代码(包括解构、
for...in、Object.keys()、JSON.stringify()等)完全不可见。 - 尝试在解构中写
{ #name } = instance会直接报语法错误:SyntaxError: Private field '#name' must be declared in class body。 - 即使把私有字段暴露为 getter(比如
get name() { return this.#name; }),解构也只能拿到这个 getter 返回的值,不是直接解构私有字段本身。
所以如果你需要解构获取某个值:
- 必须通过公共属性(
this.name)或显式 getter(this.name或obj.name)暴露; - 或在类内部提供一个返回所需数据的普通方法(如
toPlain()),再对返回的对象解构。
本质上,解构操作面对的是对象的可枚举自有属性,而私有字段不属于该范畴,也不参与属性遍历或模式匹配。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











