Javascript 解构赋值详情
短信预约 -IT技能 免费直播动态提醒
1、数组解构
let [a, b, c] = [1,2,3]
console.log(a, b, c) // 1 2 3
除了数组,任何可迭代的对象都支持被解构, 例如字符串
let [first, second] = "he"
console.log(first, second) // h e
2、对象解构
赋值右侧是对象,左侧是包含在花括号内逗号隔开的变量名
let {a, b, c} = {a:1, b:2, c:3}
console.log(a,b,c) // 1 2 3
左侧的变量名需要和对象中的属性名相同,如果对应不上的话,左侧的变量名将被赋值为undefined
。例如:
let {a,b, d} = {a:1, b:2, c:3}
console.log(a,b,d) // 1 2 undefined
如果变量名与属性名不一样,可以用冒号分隔符将属性名赋值给变量名
例如:
let {a,b, c:d} = {a:1, b:2, c:3}
console.log(a,b,d) // 1 2 3
3、不完全解构
解构赋值左侧变量个数可以不等于右侧数组中元素的个数
(1)左侧多余的变量会被设置为undefined,
let [a, b, c] = [1, 2]
console.log(a, b, c) // 1 2 undefined
(2)右侧多余的值将被直接忽略
let [a, b, c] = [1, 2, 3, 4]
console.log(a, b, c) // 1 2 3
(3)左侧可以用逗号跳过某些值
let [a, , c] = [1, 2, 3, 4]
console.log(a, c) // 1 3
(4)右侧多余的值可以通过...收集到一个变量中
let [a, b, ...c] = [1, 2, 3, 4]
console.log(a, b, c) // 1 2 [3, 4]
4、用解构赋值实现变量交换
let a = 1, b=2;
[a, b] = [b, a]
console.log(a) //2
console.log(b) //1
到此这篇关于Javascript
解构赋值详情的文章就介绍到这了,更多相关Javascript
解构赋值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341