ES6

函数扩展

ES6————函数的扩展(参数默认值、参数解构赋值、rest参数、扩展运算符)

一、函数的参数默认值

1
2
3
4
5
function foo(param = 'hello'){
    console.log(param)
}
foo()//结果:hello
foo('hi')//结果:hi

二、参数的解构赋值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 代码1:
function move({x = 0, y = 0} = {}) {
    return [x, y];
}
console.log(move({x: 3, y: 8})); // [3, 8]
console.log(move({x: 3})); // [3, 0]
console.log(move({})); // [0, 0]
console.log(move()); // [0, 0]

// 代码2:
function move({x, y} = { x: 0, y: 0 }) {
    return [x, y];
}
console.log(move({x: 3, y: 8})); // [3, 8]
console.log(move({x: 3})); // [3, undefined]
console.log(move({})); // [undefined, undefined]
console.log(move()); // [0, 0]

三、rest参数(剩余参数)

1
2
3
4
5
6
function foo(a, b, ...param){
    console.log(a)
    console.log(b)
    console.log(param)
}
foo(1,2,3,4,5)//结果:1 2 [3,4,5]

四、…扩展运算符

1
2
3
4
5
function foo(a, b, c, d, e){
    console.log(a + b + c + d + e)
}
let arr = [1,2,3,4,5]
foo(...arr)//结果:15

扩展运算符的一个应用:合并数组

1
2
3
4
let arr1 = [1,2,3]
let arr2 = [4,5,6]
let arr3 = [...arr1, ...arr2]
console.log(arr3)//结果:[1,2,3,4,5,6]


-->