今天小编来介绍一个平时接触较少的,但是却给平时编码带来很多方便的ES6语法——三个点。这三个点主要是针对数组的格式转换。大家也可以关注我的微信公众号,蜗牛全栈。
一、扩展运算符:把数组或者类数组展开成逗号隔开的值
实例1:
function foo(a,b,c){
console.log(a,b,c)
}
let arr = [1,2,3]
foo(...arr) // 1 2 3
console.log(...arr) // 1 2 3
实例2:连接两个数组
let arr1 = [1,2,3]
let arr2 = [4,5,6]
// es5
Array.prototype.push.apply(arr1,arr2) // [1,2,3,4,5,6]
// es6
arr1.push(...arr2)
console.log(arr1) // [1,2,3,4,5,6]
实例3:字符串
let str = "hello"
let arr = [...str]
console.log(arr) // ["h","e","l","l","o"]
二、rest参数:将逗号隔开的值转换为数组
实例1:函数参数
function foo(...args){
let sum = 0
args.forEach(function(item){
sum += item
})
return sum
}
console.log(foo(1,2)) // 3
console.log(foo(1,2,3)) // 6
function foo(x,...args){
console.log(x)
console.log(args)
}
foo(1,2,3,4) // 1 [2,3,4]
实例2:与解构赋值结合
let [x,...y] = [1,2,3]
console.log(x) // 1
console.log(y) // [2,3]