Default Parameters
Here is a simple example of default parameters using standard function definition and arrow functions.
function defaultParams( a = 1, b = 2){
return a+b;
}
console.log(defaultParams()); //3
console.log(defaultParams(2)); //4
console.log(defaultParams(2,3)); //5
var funcArrow = (c=3,d=4) => c+d
console.log(funcArrow()); //7
console.log(funcArrow(5)); //9
console.log(funcArrow(5,6)); //11
So default params are pretty straight forward. However defaultParams are also available to default params that follow.
function defaultParams( a = 1, b = a*2) {
return a+b;
}
console.log(defaultParams()) //3
console.log(defaultParams(2)) //6
console.log(defaultParams(3)) //9
console.log(defaultParams(1,4)) //5
Also the default params are evalutaed at call time so you can do something like.
function myParam() {
return 5
}
function defaultParams(a = myParam(), b = a*2) {
return a+b;
}
console.log(defaultParams()) //15
So as you can see you can do some funky stuff if you really want to.
For more reading see: