这两个代码示例有什么区别(当然除了语法之外)?
实施例1:
var user = {
name: 'Diego',
age: 25
}
var {name} = user;
console.log(name); // Diego
实施例2:
var user = {
name: 'Diego',
age: 25
}
var name = user.name;
console.log(name); // Diego
两个示例分配相同的值。我不明白使用两者有什么区别或优势/优势。
让我们将其扩展到多个属性:
var {foo, bar, baz} = user;
在传统语法中,这将是:
var foo = user.foo,
bar = user.bar,
baz = user.baz;
因此,对于每个属性,我们必须重复我们想要访问的对象(user
) 和财产名称foo = ... .foo
。新的语法可以更轻松地减少重复。
如果对象尚未存储在变量中,则还有另一个区别:
var {foo, bar, baz} = getUser();
现在我们不能只是做
var foo = getUser().foo,
bar = getUser().bar,
baz = getUser().baz;
因为每次调用getUser
可能会做不同的事情(由于副作用)或者只是效率低下(因为我们正在重复工作)。我们必须创建一个新的局部变量来存储对象,只是为了初始化我们真正关心的三个变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)