Javascript 如何在解构赋值语法中使用特殊字符(如连字符)?
我很好奇为什么这看起来不可能:Javascript 如何在解构赋值语法中使用特殊字符(如连字符)?,javascript,spread-syntax,ecmascript-2018,Javascript,Spread Syntax,Ecmascript 2018,我很好奇为什么这看起来不可能: const {a, b, 'special-one'} = { a:1, b:2, 'special-one': 3 }; // output => missing : after property id 在未来的ES版本中是否有可能找到这种语法 感谢您的指示灯:)特殊指示灯不能作为变量名。所以你需要另一个名字,比如speciallone。在新变量名的键名之后使用: const{a,b,‘特殊的一个’:特殊的一个}={a:1,b:2,‘特殊的一个’:3}
const {a, b, 'special-one'} = { a:1, b:2, 'special-one': 3 };
// output => missing : after property id
在未来的ES版本中是否有可能找到这种语法
感谢您的指示灯:)
特殊指示灯不能作为变量名。所以你需要另一个名字,比如speciallone
。在新变量名的键名之后使用:
const{a,b,‘特殊的一个’:特殊的一个}={a:1,b:2,‘特殊的一个’:3};
console.log(speciallone)
重命名destructure语句中的变量,名称中不能有连字符的变量。您可以使用以下语法重命名,请参阅
属性可以从对象中解包并分配给变量
使用与对象属性不同的名称
const{
A.
B
“特别一号”:特别一号
} = {
答:1,,
b:2,
‘特别一号’:3
};
console.log(specialOne)
这是不可能的,因为“-”是一个特殊字符,在本例中,它是一个运算符。特殊字符
不是有效的变量名。之后无法访问此变量。你至少需要给它加上别名。挑剔:这不是“扩展语法”,而是“解构赋值”。您可能需要更新问题标题。可以找到允许变量名的规则。