📜  typescript if undefined default value - TypeScript (1)

📅  最后修改于: 2023-12-03 15:20:42.982000             🧑  作者: Mango

TypeScript中如何处理undefined的默认值

在开发过程中,我们经常需要给变量或是函数参数设置默认值,防止在没有传入值的情况下程序出错。在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的类型推断机制。