gpt4 book ai didi

typescript - 为什么我可以对 `false` 等文字使用类型断言?

转载 作者:行者123 更新时间:2023-12-04 01:19:16 25 4
gpt4 key购买 nike

在 TypeScript 中我可以 successfully compile以下代码:

const x = true as false;

所以我有一个常量 x,其值为 true,类型为 false。我预计这样的直接断言应该是无效的,但令人惊讶的是它是有效的。例如,对于 similar code

const x = 0 as false;

存在编译错误

Conversion of type 'number' to type 'false' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.

我预计 truefalse 会发生类似的错误。

为什么没有错误,有没有办法(比如一些编译器选项)修复它?

最佳答案

这是因为 typescript 自己扩展了类型。 true 和 false 确实重叠,它们都是 bool 类型。0 和 false 不重叠,一个是数字,另一个是 bool 值。

关于typescript - 为什么我可以对 `false` 等文字使用类型断言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62841917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com