解构并分配给新变量,同时不起作用
Destructure and assign to new variable at the same time not working
我正在尝试解构对象并同时将其分配给新变量:
let {x} = a = {x: 'cool'};
console.log(a, x);
其中输出:
//Object { x: "cool" } cool - in Firefox
//ReferenceError: a is not defined - in Chrome, babel-node
为什么会有差异,正确的行为是什么?
更新:
这可能是更通用的用例。虽然这适用于所有环境:
var a = b = {x: 'cool'};
此语句在 Chrome/babel-node 中不起作用:
var {x} = a = {x: 'cool'}; //SyntaxError: Unexpected token {
使用 var
而不是 let
时也会出现不同的错误消息。
在代码中,未定义a
。 let a = b = c
没有定义b
.你需要说
let a = {x: 1}, {x} = a;
火狐不支持let
,所以我想知道你的示例是如何工作的。请参阅 https://kangax.github.io/compat-table/es6/。
相关文章:
- javascript美元符号变量不起作用
- Url中的JavaScript变量不起作用
- 全局变量不起作用
- 彩色变量不起作用
- 变量不起作用(不知道为什么)javascript
- Angularjs 更新 setTimeout 中的范围变量不起作用
- 将 jQuery 函数分配给变量不起作用,但包装它不起作用
- 谷歌图表-重新格式化变量不起作用
- AngularJS-ng显示范围变量不起作用
- 在 JavaScript 中设置变量不起作用
- 如何将 html 输入值传递给 php?- 变量不起作用
- Javascript变量等于下面的另一个变量不起作用
- Javascript 初学者 - 全局变量不起作用
- JavaScript 中的全局变量不起作用
- d3 本地存储比较数组 .filter 咖啡脚本;数组变量不起作用
- JS中的PHP变量不起作用
- 作为“名称”的Javascript数组变量不起作用
- 鼠标上的补间变量不起作用
- Javascript onclick 变量不起作用
- 角度 JS 范围变量不起作用