我在TypeScript中具有以下功能(无法更改参数的顺序)
user(firstName: string, lastName?: string, address?: string);
在仅需要传递firstName
和address
的情况下,传递为lastname
的更好/合适/推荐值是什么?
case 1: user("Jack", undefined, "NY");
或
case 2: user("Jack", null, "NY");
每种方法的优缺点是什么?
答案 0 :(得分:3)
您应该使用undefined。
此:
lastName?: string
告诉我们lastName
参数的类型为string | undefined
。因此,使用null
是非法的(在严格模式下,这很好)。使用未定义。
答案 1 :(得分:0)
好吧,我发现了这个The Typescript coding style guide,它指出您应该始终使用undefined而不是null,
空和未定义
- 使用未定义。请勿使用null。
无论如何都要检查here,
undefined
表示已声明变量,但尚未分配值。
null
是分配值。可以将其分配给变量,以表示没有值。因此,为了达到optional
的目的,我认为undefined
会更好。