跳至主要內容

可為非 Null 類型斷言式樣

在明確的類型轉換上採用非 Null 斷言。

🔧

有些由規則回報的問題可由 --fix ESLint 命令列選項.

自動修正

💭 這項規則需要 類型資訊

才能執行。

  • 在 TypeScript 中須要求一個值具有其類型且沒有 nullundefined,共有兩個常見的方式
  • !: 非 Null 斷言

as: 傳統類型斷言,類型恰好相符

一般來說,! 非 Null 斷言較為優先,因為編寫的程式碼較少且在類型變更時較不容易不同步。這項規則會回報 as 轉換的處理方式與 ! 相同,並建議修正程式碼為 !
module.exports = {
"rules": {
"@typescript-eslint/non-nullable-type-assertion-style": "error"
}
};

.eslintrc.cjs

在遊樂場中嘗試這項規則 ↗

const maybe: string | undefined = Math.random() > 0.5 ? '' : undefined;

const definitely = maybe as string;
const alsoDefinitely = <string>maybe;
✅ 正確

選項

此規則無法設定。

何時不使用

如果您不介意擁有不必要地詳細冗長的類型斷言,您可以避開此規則。


類型檢查的程式碼品質規則比傳統的程式碼品質規則更強大,但同時也需要設定 類型檢查程式碼品質。如果您在啟用已類型檢查的規則後遇到效能下降,請參閱 效能問題排除

資源