ES6 学习笔记(二)-- 解构赋值
文章目录
解构赋值
数组的解构赋值
|
|
- 解构赋值不仅适用于var命令,也适用于let和const命令。
##允许指定默认值
|
|
- ES6内部使用严格相等运算符(===),判断一个位置是否有值。所以,如果一个数组成员不严格等于undefined,默认值是不会生效的
##对象的解构赋值
对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
1 2 3 4 5 6
var { bar, foo } = { foo: "aaa", bar: "bbb" }; foo // "aaa" bar // "bbb" var { baz } = { foo: "aaa", bar: "bbb" }; baz // undefined
字符串的解构赋值
|
|
数值和布尔值的解构赋值
|
|
函数参数的解构赋值
|
|
用途
交换变量的值
1
[x, y] = [y, x];
从函数返回多个值
1 2 3 4
function example() { return [1, 2, 3]; } var [a, b, c] = example();
函数参数的定义
1 2
function f([x, y, z]) { ... } f([1, 2, 3]);
提取JSON数据
1 2 3 4 5 6
var jsonData = { id: 42, status: "OK", data: [867, 5309] }; let { id, status, data: number } = jsonData;
函数参数的默认值
1 2 3 4 5 6 7 8 9 10 11
jQuery.ajax = function (url, { async = true, beforeSend = function () {}, cache = true, complete = function () {}, crossDomain = false, global = true, // ... more config }) { // ... do stuff };
文章作者 ryan
上次更新 2016-06-01