// --- rest 参数 用于获取函数的实参 用来代替 arguments

// es5 获取实参的方式
// function date(){
// console.log(arguments);
// }
// date("白芷",'阿胶','陈皮')

// rest 获取实参的方式
// function date(...args){
// console.log(args);
// }
// date("白芷",'阿胶','陈皮') // (3) ["白芷", "阿胶", "陈皮"]

// rest 参数必须要放在参数最后
function fn(a,b,...args){
console.log(a); // 1
console.log(b); // 2
console.log(args); // (4) [3, 4, 5, 6]
}

fn(1,2,3,4,5,6)


--------------------------------------------------

// // ...扩展运算符
// const tfboys = ['易烊千玺','王源','王俊凯']; // '易烊千玺','王源','王俊凯'
// // function chunwan(){
// // console.log(arguments);
// // }
// // chunwan(...tfboys) ; // '易烊千玺','王源','王俊凯'

// 1 数组 合并
// const kuaizi = ['王太利','肖央'];
// const fenghuang = ['曾毅','玲花'];
// const zuixuan = kuaizi.concat(fenghuang)
// // console.log(zuixuan); // (4) ["王太利", "肖央", "曾毅", "玲花"]

// const zuikuai = [...kuaizi,...fenghuang];
// console.log(zuikuai); // (4) ["王太利", "肖央", "曾毅", "玲花"]

// 2 数组克隆
// const snazhihua = ['E','G','M'];
// const sanyecao = [...snazhihua];
// console.log(sanyecao); // (3) ["E", "G", "M"]

// 3 将伪数组 转为真正的数组
// const divs = document.querySelectorAll('div');
// // console.log(divs); // NodeList(3) [div, div, div]
// const divArr = [...divs];
// console.log(divArr); // (3) [div, div, div]

// 4 也可以转 arguments
// function fn(){
// // console.log(arguments); Arguments(3) [1, 2, 3, callee: ƒ, Symbol(Symbol.iterator): ƒ]
// console.log([...arguments]); // (3) [1, 2, 3]
// }
// fn(1,2,3)