最近读别人的代码看到三个点的用法 … js三个点是什么意思?我就去学习了一下js三个点的用法,现在把我理解的解释一下
作用:将一个数组转为用逗号分隔的参数序列
我的理解就是,这三个点只能用于函数的参数上,而参数必须是数组,作用就是把数组拆成一个个的对象当参数传输
例子一: 把数组拆成两个对象
var shuzu = [1,2] function add(a,b){ console.log(a) console.log(b) } add(...shuzu) 输出结果 1 2
例子二:两个数组合并
//不用三个点的例子 var shuzu = [1,2] var shuzu2 =[3,4] shuzu.push(shuzu2) console.log(shuzu) 输出结果 Array [1, 2, Array [3, 4]] 用三个点的例子 shuzu.push(...shuzu2) console.log(shuzu) 输出结果 Array [1, 2, 3, 4]
例子三:三个点的其它用法
var arr1 = ['a', 'b']; var arr2 = ['c']; var arr3 = ['d', 'e']; // ES5的合并数组 arr1.concat(arr2, arr3); console.log(arr1); // [ 'a', 'b', 'c', 'd', 'e' ] // ES6的合并数组 arr4 = [...arr1, ...arr2, ...arr3]; console.log(arr4); // [ 'a', 'b', 'c', 'd', 'e' ] 扩展运算符将字符串转为真正的数组 console.log([...'hello']) // [ "h", "e", "l", "l", "o" ]