我有以下几段代码(仅在Firefox中解析并正确运行)
var {A: a} = {A: 1};
console.log(a); // 1
现在我们有一个名为'a'的变量,其值为1
所以我有3个问题要问
例如,
var b = {B: 1};
var c = {B: 2};
b = c;
b.B = 3;
console.log(c);
在这个赋值(b = c)中,b现在引用c,它们共享同一个对象。为什么这个作业与原作不同?
忘记提及我在Firefox 16.0上测试
答案 0 :(得分:3)
您拥有的代码:
var {A: a} = {A: 1};
不是有效的JavaScript,只有在使用Firefox时它才有效,并且它不会传递任何已知的短信。)
正如ThiefMaster所提到的那样,在文档中查看后,这种用法称为解构分配。
您可以在此处阅读:Destructuring Assignment
摘自页面。
例如,您可以使用解构赋值来交换值:
var a = 1;
var b = 3;
[a, b] = [b, a];