如果没有确切的值(“ undefined”或“ null”)要为TypeScript可选参数传递什么?

时间:2018-10-17 06:30:31

标签: typescript

我在TypeScript中具有以下功能(无法更改参数的顺序)

user(firstName: string, lastName?: string, address?: string);

在仅需要传递firstNameaddress的情况下,传递为lastname的更好/合适/推荐值是什么?

case 1: user("Jack", undefined, "NY");

case 2: user("Jack", null, "NY");

每种方法的优缺点是什么?

2 个答案:

答案 0 :(得分:3)

您应该使用undefined。

此:

lastName?: string

告诉我们lastName参数的类型为string | undefined。因此,使用null是非法的(在严格模式下,这很好)。使用未定义。

答案 1 :(得分:0)

好吧,我发现了这个The Typescript coding style guide,它指出您应该始终使用undefined而不是null,

  

未定义

     
      
  • 使用未定义。请勿使用null。
  •   

无论如何都要检查hereundefined表示已声明变量,但尚未分配值。 null是分配值。可以将其分配给变量,以表示没有值。因此,为了达到optional的目的,我认为undefined会更好。