hello 大家好,🙎🏻♀️🙋🏻♀️🙆🏻♀️
我是一个热爱知识传递,正在学习写作的作者,前端明明
好久不见哈!转眼间2022年过了大半,又十一了。面对今年的互联网寒冬,真是让人怕怕的,大厂裁员,工作不好找,要想保持竞争力只有不断的学习。于是在家做总结。
1. 数组的浅拷贝
const arr1 = [1, 2, 3];
const arr2 = [...arr1];
console.log(arr2); // [1,2,3]
2. 向数组里添加元素
let arr1 = [1, 2, 3];
arr1 = [...arr1,4,5];
console.log(arr1); // [ 1, 2, 3, 4, 5 ]
3. 数组的合并
let arr1 = [1, 2, 3];
let arr2 = [4,5];
arr1=[...arr1,...arr2]
console.log(arr1)
4. 向对象里添加属性
假如你有个对象wkm,但是他却了一个age 属性
const wkm = {
firstname: 'wang',
lastname: 'kaiming'
};
要向wkm 这个对象里添加个age属性
let addWkm={...wkm,age:'18'} // { firstname: 'wang', lastname: 'kaiming', age: '18' }
5.合并对象
let obj = { a: 1, b: 2 }
let obj2 = { c: 3 }
obj = {...obj,...obj2}
console.log(obj) // {a: 1, b: 2, c: 3}
6. rest 参数
ES6 引入 rest 参数(形式为...变量名),用于获取函数的多余参数,这样就不需要使用arguments对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。
function add(...values) {
let sum = 0;
for (var val of values) {
sum += val;
}
return sum;
}
add(2, 5, 3) // 10
上面代码的add函数是一个求和函数,利用 rest 参数,可以向该函数传入任意数目的参数。
下面是一个 rest 参数代替arguments变量的例子。
// arguments变量的写法
function sortNumbers() {
return Array.from(arguments).sort();
}
// rest参数的写法
const sortNumbers = (...numbers) => numbers.sort();
上面代码的两种写法,比较后可以发现,rest 参数的写法更自然也更简洁。
7 展开字符串
const str = 'abc';
const arr = [...str];
console.log(arr);
// [ 'a', 'b', 'c' ]
8 结构对象
假设有一个对象wkm
const wkm = {
firstNane: 'wkm',
lastName: 'kaiming',
age: 18
}
let { firstNane, ...rest } = wkm
console.log("kkkkk", firstNane,"剩余参数", rest) // kkkkk wkm 剩余参数 {lastName: 'kaiming', age: 18}
总结以上八种扩展运算符的使用,要是大家还知道其他妙用请大家不吝赐教。