📅  最后修改于: 2023-12-03 15:20:42.982000             🧑  作者: Mango
在开发过程中,我们经常需要给变量或是函数参数设置默认值,防止在没有传入值的情况下程序出错。在TypeScript中,我们可以通过给变量或是函数参数设置默认值来处理这个问题。
对于变量,我们可以使用如下语法来设置默认值:
let foo = bar || defaultValue;
这段代码中,如果bar未定义,那么会使用defaultValue作为默认值。
而在TypeScript中,我们可以使用以下方式:
let foo: string | undefined;
let defaultValue = 'default';
let result = foo ?? defaultValue;
这里使用了nullish coalescing运算符 ??,它的作用就是在左侧值为null或undefined时,取右侧的值作为默认值。
对于函数参数,我们可以在函数定义时通过设置默认值来实现:
function foo(bar: string = 'default') {
console.log(bar);
}
以上代码中,如果调用foo函数时不传入参数,则bar参数的默认值为'default'。
而在TypeScript中,我们可以使用以下方式:
function foo(bar?: string) {
bar = bar ?? 'default';
console.log(bar);
}
这里同样使用了nullish coalescing运算符 ??,如果bar为null或undefined,则给bar赋值为'default'。
在TypeScript中,我们可以使用nullish coalescing运算符 ?? 来处理undefined的默认值,使代码更加易读。此外,在函数参数中使用undefined时建议使用optional parameter而不是默认参数,这样更符合TypeScript的类型推断机制。