一边念叨新ES6功能,我发现伟大的方式来定义的默认值:如何为中间变量参数使用ECMAScript 6默认值功能?
在ECMAScript中6,我们可以添加默认值到 函数的参数。这意味着如果我们稍后在 函数调用中不传入参数,将使用默认参数。在ES5中,参数值的默认值 始终设置为undefined,因此可以将它们设置为我们想要的任何值的绝对增强语言。
所以这是非常简单的使用方法是这样的:
function f(p1=1, p2=2, p3=3, p4=4, p5=5){
return "{p1: " + p1 + ", p2: " + p2 + ", p3: " + p3 + ", p4: " + p4 + ", p5: " + p5 + "}";
}
var test = f();
console.log(test);
//outputs: {p1: 1, p2: 2, p3: 3, p4: 4, p5: 5}
我想知道我们如何能够利用这个功能做这样的事情:
function f(p1=1, p2, p3, p4, p5=5){
return "{p1: " + p1 + ", p2: " + p2 + ", p3: " + p3 + ", p4: " + p4 + ", p5: " + p5 + "}";
}
var test = f(,20, 30, 40,); //which is not correct
所以,当我执行它我得到这个结果:
{p1: 1, p2: 20, p3: 30, p4: 40, p5: 5}