跳至內容

typescript/no-non-null-asserted-optional-chain 正確性

此規則預設為開啟。

此規則的作用

禁止在可選鏈表達式後使用非空斷言。

為什麼這是不好的?

如果物件為 null 或 undefined,?. 可選鏈表達式會提供 undefined。使用 ! 非空斷言來斷言 ?. 可選鏈表達式的結果為非可為 null 的,這很可能是錯誤的。

大多數情況下,物件要么不是可為 null 的,不需要為其屬性查詢使用 ?.,要么 ! 是不正確的,引入了類型安全漏洞。

範例

ts
foo?.bar!;
foo?.bar()!;

參考資料

以 MIT 授權釋出。