ES6 的預設參數值

再也不用擔心 undefined。

function 的用法

如果不幫參數用一個預設值的話,再碰到一些 edge case 的時候會比較麻煩一點:

1
2
3
4
5
6
7
8
function repeat(str, times) {
let result = ''
for(let i=0; i<times; i++) {
result += str
}
return result
}
console.log(repeat('a')) // '' 空字串

(times 會是 undefined 所以不會進入迴圈,最後得到空字串)

加上預設值世界就不一樣了:

1
2
3
4
5
6
7
8
function repeat(str = '', times = 1) {
let result = ''
for(let i=0; i<times; i++) {
result += str
}
return result
}
console.log(repeat('a')) // a

解構的用法

原來這個用法也能搭配解構來用:

1
2
3
4
let arr = [1, 2, 3]
let [n1, n2, n3=100, n4 = 'abc'] = arr
console.log(n3) // 3
console.log(n4) // 'abc'
1
2
3
4
5
6
7
8
let obj = {
a: 1,
b: 2,
c: 3
}
let {a, b, c=true, d='ddd'} = obj
console.log(c) // 3
console.log(d) // 'ddd'
ES6 的箭頭函式 ES6 的其餘運算子
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×