首页 > 解决方案 > 如何传递您不想指定的另一个可选参数之后的可选参数

问题描述

我想传递一个参数来覆盖函数声明中稍后出现的默认参数,而不是另一个我想让它成为默认值的默认参数。这可能吗?这是我想做的一个例子:

function f(a:string, b:number=1, c:string='FOO'){
     // do stuff
}

f('val for a', 'val for c') // want b to still be default of 1

标签: javascripttypescriptparametersoptional-parametersoptional-arguments

解决方案


根据文档,您需要明确设置bundefined获取默认值。

function test(a = 1, b = 2, c = 3) {
    console.log(a, b, c);
}

test(undefined, 42, undefined);


推荐阅读