1.首先,來看一下es5中的函數默認值javascript
var a = a || 10; var b = b || "none" // 當a的值或者b的值爲undefined時,根據邏輯或運算的特性,將會返回後一個值,於是實現默認值 function sum (a, b) { a = a || 10; b = b || 5; return a + b; } sum(); // 15
2.es6中提供了一個新的函數默認值的方式,外界傳入的參數會依次賦值給函數中的參數java
function sum (a = 10, b = 5) { return a + b; } console.log(sum(1, 2)); // 3 console.log(sum(5)); // 10 console.log(sum()); // 15 // 當須要第一個參數使用默認值,而指定第二個參數時,須要顯式指定第一個參數值爲undefined // 須要注意,當顯式指定參數爲null時,是不會使用默認值的 console.log(undefined, 10); // 20
2019-03-15 23:46:25es6