背景
以前项目中使用es6语法较少,现有项目多出使用,今日学习并整理
定义
- 扩展运算符
- 取出参数对象中所有可便利属性,拷贝到当前对象中
拷贝
let bar = { a: 1, b: 2 };
let baz = { ...bar }; // { a: 1, b: 2 }
如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性
let bar = {a: 1, b: 2};
let baz = {...bar, ...{a:2, b: 4}}; // {a: 2, b: 4}
解构赋值结合
生成新的数组
const [first, ...rest] = [1, 2, 3, 4, 5];
first // 1
rest // [2, 3, 4, 5]
const [...rest, last] = [1, 2, 3, 4, 5];
// 报错
const [first, ...rest, last] = [1, 2, 3, 4, 5];
// 报错
字符串转为数组
[...'hello']
// [ "h", "e", "l", "l", "o" ]