arguments是一个关键字,获取传入的所有参数,是一个对象,是一个伪数组,表现形式仍然是数组(查看它的原型验证),有 length 属性,并且可以通过下标获取元素,但是它不能调用数组方法。
rest既可以拿到全部参数也可以拿到剩余参数,也就是除了已经定义的参数以外的参数,只能写在最后,必须用...标识,用来代替 ES5的 arguments
拓展运算符...能将 数组 转换为 逗号分隔的 参数序列
应用场景:
多个数组的合并 [...arr4, ...arr5]
数组的深拷贝 var arr3 = [...arr]
将伪数组转换为真正的数组
对象的合并:合并两个对象的时候,如果两个对象没有相同的属性时,新对象会包含两个对象的全部属性;如果两个对象有相同的属性的时候,后边的对象属性会覆盖掉前边对象的同名属性