[英]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.