乐趣区

关于javascript:扩展运算符与rest参数

明天小编来介绍一个平时接触较少的,然而却给平时编码带来很多不便的 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]
退出移动版