Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在解构赋值语法中使用特殊字符(如连字符)?_Javascript_Spread Syntax_Ecmascript 2018 - Fatal编程技术网

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)
这是不可能的,因为“-”是一个特殊字符,在本例中,它是一个运算符。
特殊字符
不是有效的变量名。之后无法访问此变量。你至少需要给它加上别名。挑剔:这不是“扩展语法”,而是“解构赋值”。您可能需要更新问题标题。可以找到允许变量名的规则。