为了账号安全,请及时绑定邮箱和手机立即绑定

es6中的关于对象的解构赋值

es6中的关于对象的解构赋值

凤凰求蛊 2018-12-13 14:14:45
不废话,上代码var obj = {    p: [ 'Hello',    { y: 'World' } ]};var { p: [x, { y }] } = obj; x // "Hello"y // "World"上面代码是es6标准入门中关于对象解构赋值的一个例子,书中对此段代码的解释是 此时p是模式,p并不会被赋值,var node = { loc: {    start: { line: 1,    column: 5 }        } };var { loc: { start: { line }} } = node; line // 1loc // error: loc is undefinedstart // error: start is undefined上面代码中,只有line是变量,loc和start都是模式,不会被赋值但是var { foo: baz } = { foo: 'aaa', bar: 'bbb' }; baz // "aaa"中的foo确实被baz赋值了可是let baz;({bar: baz} = {bar: 1}); 这段代码输入的仍然是bar//1求问这是为什么啊?
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

没看懂你的问题点是什么?
let baz;
({bar: baz} = {bar: 1}); 
运行完这句代码之后,bza就是1了呀 不存在bar这个变量呀

查看完整回答
反对 回复 2019-01-02
  • 1 回答
  • 0 关注
  • 506 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信