跳到主內容

no-non-null-assertion

使用 ! 後置運算子禁止非空斷言。

🔒

延伸 "plugin:@typescript-eslint/strict" ESLint 設定 啟用此規則。

💡

此規則報告的一些問題可由編輯器手動修復 建議.

TypeScript 的 ! 非空斷言運算子聲明一個表達式是非空的,表示不會為 nullundefined。使用斷言來告訴類型系統新的資訊通常表示程式碼並非完全類型安全。通常較好做法是建構程式邏輯,以便 TypeScript 了解何時值可能是空的。

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-non-null-assertion": "error"
}
};

在遊樂場嘗試此規則 ↗

範例

interface Example {
property?: string;
}

declare const example: Example;
const includesBaz = example.property!.includes('baz');
在遊樂場開啟

選項

此規則不可設定。

不使用它的時機

如果專案的類型尚未完全描述某個值是否可以為可為空值,例如您正轉換至 strictNullChecks,則此規則可能會產生許多錯誤報告。您可以考慮對這些特定情況使用 ESLint 停用註解,而不是完全停用此規則。

資源