我具有以下功能。如果a === "add"
不等于““ add”`,我想在a
上在p3上设置一些值,只需使用函数中的默认值即可。我该怎么办?
function func(p1: string, p2: string, p3: string = 'value'): void{
console.log(p1);
console.log(p2);
console.log(p3);
};
let a = 'add';
func('a', 'b') #output: a, b, x
let a = 'mins';
func('a', 'b') #output: a, b, value
#something like
func('a', 'b', (a === "add")? "x") #output: a, b, value
根据文档,您可以将undefined
传递给该函数,并且将使用默认的指定值:
在TypeScript中,我们还可以设置一个值,如果用户不提供参数,或者用户在其位置传递了undefined,则将为参数分配一个值。这些称为默认初始化参数。让我们以前面的示例为例,并将姓氏默认为“ Smith”。
function buildName(firstName: string, lastName = "Smith") {
return firstName + " " + lastName;
}
let result1 = buildName("Bob"); // works correctly now, returns "Bob Smith"
let result2 = buildName("Bob", undefined); // still works, also returns "Bob Smith"
您的示例应如下所示:
func('a', 'b', (a === "add")? "x" : undefined)
更多here
您可以这样操作。
func('a', 'b', ((a === "add") ? "x" : undefined));
但是我更喜欢这个。
if (a === 'add') func('a', 'b', 'x');
else func('a', 'b')