相关疑难解决方法(0)

TypeScript 可选类型与类型的区别 | 不明确的

我正在努力理解将字段定义为string | undefinedstring?

我们当前的代码使用这样的类型定义:

class Foo {
  public bar: string | undefined;
}
Run Code Online (Sandbox Code Playgroud)

当通过 TSLint 运行此代码时,它会注意到并抱怨它:

考虑使用“?” 在其类型中声明此属性而不是 'undefined' 的语法。

现在的问题是使用的?语法是否完全相同,还是我遗漏了细微的差异?

class Foo {
  public bar?: string;
}
Run Code Online (Sandbox Code Playgroud)

所以我们string | undefined现在如何使用类型是在这样的检查中:

if (foo.bar) {..} 这会改变吗?

似乎打字稿文档深入探讨了可选类型,但并未真正探讨它在类上下文中的行为方式。

typescript typescript-typings typescript2.0

7
推荐指数
3
解决办法
2081
查看次数