学习资料来源
文章开头感谢技术胖的知识分享!
扩展运算符
扩展运算符可以很好的解决参数和对象数组未知的情况下的编程,让代码健壮简洁。
1、对象扩展运算符
编写一个函数时,当传入的参数不确定时,可以用对象扩展运算符作为参数:
function a(...arg){
console.log(arg[0]);
console.log(arg[1]);
console.log(arg[2]);
console.log(arg[3]);
}
a(1,2,3); // 1 2 3 undefined
常用于合并数组和对象
let a = {foo: '123'};
let b = {...a, bar: 'abc'};
console.log(b); // {foo: "123", bar: "abc"}
可用于解决内存堆栈问题:
let arr1 = ['J', 'S', 'Pang'];
let arr2 = arr1;
let arr3 = [...arr1];
arr2.push('JSPang');
console.log(arr1); // ["J", "S", "Pang", "JSPang"]
console.log(arr2); // ["J", "S", "Pang", "JSPang"]
console.log(arr3); // ["J", "S", "Pang"]
2、rest运算符
rest运算符与对象扩展运算符有很多相似之处,甚至很多时候不用特意去区分。
function jspang(first,...arg){
console.log(arg.length);
}
jspang(0,1,2,3,4,5,6,7); // 7