ES6 变量申明
原始基本用法
为变量赋值,只能直接指定值。 var a = 1; var b = 2; var c = 3;
2. 数组解构赋值
a. let [foo, [[bar], baz]] = [1, [[2], 3]];
b.var [foo] = [];c.var [bar, foo] = [1];
数组解构赋值又如下几种情况
1. 完全解构, 左右两边完全一致,如上 (a) 相当于定义了 三变量 foo, bar , baz
2. 赋值不完全解构, 如上 (b), 或者 定义不完全解构, 如上 (c), 相当于定义了变量 foo (bar), 如果解构不成功,变量赋值undefined
3.对象解构赋值
var { foo, bar } = { foo: "aaa", bar: "bbb" };
相当于定义了变量foo// "aaa" 和bar // "bbb"
过程为 先声明 foo, 和 bar 变量,从赋值对象中查找 与之对应变量名的 key, 然后取key 值 赋值给变量。
例 1 :(易错点)
let foo;
let{foo} = {foo: 1};// SyntaxError: Duplicate declaration "foo"
{foo} 对象解构赋值 会定义变量 foo 引起,重复定义冲突。
例 2: (误区)
let temp ={ foo, bar } = { foo: "aaa", bar: "bbb" };
上面赋值语句 申明了三个变量 temp, foo, bar 值分别为{ foo: "aaa", bar: "bbb" }, "aaa", "bbb"
4.字符串的解构赋值,
let [a, b, c] = 'hel';
相当于数组的解构赋值 =》 a === "h", b === "e", c === "l"

浙公网安备 33010602011771号