[英]Typescript: accessing an array element does not account for the possibility of undefined return values
[英]Typescript is ignoring null or undefined as function return possibility
TLDR;
tsconfig.json:
{
"compilerOptions": {
"strict": true
}
}
命令行: tsc --strict
默认情况下,TypeScript 将null
和undefined
视为其他类型的所有类型的子类型。 也就是说,一切都是可以为空的,也可以不定义。
给定两种类型, Base
和Sub
,其中Sub extends Base
,它们的并集Base | Sub
Base | Sub
,相当于Base
。 因此,由于null
是所有类型的子类型,因此它是LoginResponse
的子类型,使得LoginResponse | null
LoginResponse | null
相当于LoginResponse
要让 TypeScript 将null
和undefined
视为不同的类型,与所有其他类型无关,您需要启用--strictNullChecks
,这是一个强大的 TypeChecking 选项。
配置文件
{
"compilerOptions": {
"strictNullChecks": true
}
}
或者,在命令行上, tsc --strictNullChecks.
--strictNullChecks
选项是强大的类型检查选项的严格系列的一部分,因此我们可以使用--strict
,启用所有强烈推荐的选项,不仅仅是因为它捕获更多错误并为这些错误提供更多语义,而是因为它显着提高了类型推断的质量,使许多应该直观地工作的代码实际上工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.