js 中关于 let {a} = obj 这个等式的问题

2017 年 10 月 12 日
 nearly1

刚学 JS 没多久,想问大家一个问题: 首先定义 obj = {a:1,b:2} 一般 let a = obj.a 可以简写成 let {a} = obj,我就想了一下 let {a} = obj 相当于 let {a:a} = obj 然后 let {a:a} = obj 相当于 let {a:a} = {a:1,b:2} 这一步应该是解构赋值,所以 a = 1

我的疑问是前一步:let {a} = obj 相当于 let {a:a} = obj ; 这里的{ a:a }为啥可以简写成{ a }呢?

5474 次点击
所在节点    JavaScript
9 条回复
mchl
2017 年 10 月 12 日
mchl
2017 年 10 月 12 日
不是简写,如果 obj 里没有 a,那就是默认值
cuzfinal
2017 年 10 月 12 日
解构赋值,还有 let[a]=array 呢
ie88
2017 年 10 月 12 日
cin
2017 年 10 月 12 日
Elven
2017 年 10 月 12 日
es6 的特性,看着舒服写着方便
lianyue
2017 年 10 月 12 日
第二个 a 是用于重命名 比如 let {a:q} = obj
变量名是 q 变量名相同可以省略不写
milklee
2017 年 10 月 12 日
这就相当于问“你为什么姓王?”这样的问题一样——因为这都是别人规定的 😂
nearly1
2017 年 10 月 12 日
谢谢各位的回答

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/397018

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX