【问题标题】:TypeSCript Error: Cant Assign certain types to variableTypeSCript 错误:无法将某些类型分配给变量
【发布时间】:2021-10-03 22:14:13
【问题描述】:

我已将以下变量的类型定义为:

let isDisabled: boolean | undefined | null;
let isPrivate: boolean | undefined | null;

当我尝试这样做时:

isDisabled = null;

我收到此错误:

Type 'null' is not assignable to type 'boolean'

当我尝试设置为 undefined 时,我得到了同样的错误。

我也尝试将变量声明为

let isDisabled: Maybe<boolean> | undefined;

我不确定为什么会这样。注意:在将 TypeScript 编译为 JS 时会发生这种情况

【问题讨论】:

  • 它似乎是有效的 TypeScript 并在 typescriptlang.org/play?#code/… 中运行
  • 哈,看起来它是有效的 TypeScript(这是反应代码的一部分)所以我不确定问题是否来自 React。
  • ts playground 没有错误。请分享有错误的完整示例

标签: javascript reactjs typescript boolean undefined


【解决方案1】:

布尔值仅由 True;False; 定义??

即使您尝试将某些内容分配给 var,也应避免使用“null”之类的默认值尝试使用其他关键字...

【讨论】:

  • 他使用了联合类型,所以他可以分配多种不同的类型
  • 在这种情况下,我必须明确检查这些变量是 True/False、Null 还是 Undefined,因为它们可以以任何这些类型发送。另外,这是一个测试文件,所以我正在尝试为不同的场景编写测试。
  • 没错,但错误提示“类型'null'不可分配给类型'boolean'”。
猜你喜欢
  • 1970-01-01
  • 2020-08-03
  • 2020-02-01
  • 2020-01-21
  • 2021-12-22
  • 1970-01-01
  • 2020-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多