no-unused-vars
不允許使用未使用的變數。
✅
擴充 "plugin:@typescript-eslint/recommended"
在 ESLint 組態中 啟用此規則。
此規則擴充基本 eslint/no-unused-vars
規則。它新增了對 TypeScript 功能(例如類型)的支援。
優於 TypeScript 的好處
TypeScript 提供 noUnusedLocals
和 noUnusedParameters
編譯器選項,分別用來報告未使用的局部變數或參數的錯誤。如果您不想設定 ESLint 和 typescript-eslint,則這些編譯器選項非常實用。不過
- 這些 linter 規則比 TypeScript 的編譯器選項有更多組態選項。
- 例如,
varsIgnorePattern
選項 可以自訂哪些名稱總是允許豁免。TypeScript 將其豁免硬編碼給從_
開始的名稱。如果你想模擬 TypeScript 從_
開始豁免名稱的樣式,你可以使用這個設定(這也包括錯誤){
"rules": {
"@typescript-eslint/no-unused-vars": [
"error",
{
"args": "all",
"argsIgnorePattern": "^_",
"caughtErrors": "all",
"caughtErrorsIgnorePattern": "^_",
"destructuredArrayIgnorePattern": "^_",
"varsIgnorePattern": "^_",
"ignoreRestSiblings": true
}
]
}
}
- 例如,
- ESLint 可以設定在行、檔案和資料夾中。TypeScript 編譯器選項連結到它們的 TSConfig 檔案。
- 許多專案會設定 TypeScript 報告的錯誤,以比 ESLint 抱怨更積極地阻擋組建。阻擋未使用的變數組建會不方便。
我們通常建議使用 @typescript-eslint/no-unused-vars
標記未使用的區域變數和參數,而不是 TypeScript。
提示
即使專案中未啟用 noUnusedLocals
和 noUnusedParameters
,例如 VS Code 這樣的編輯器通常仍會將未使用的變數「灰顯」。
另請參閱 ESLint 提供的類似規則
選項
如何使用
.eslintrc.cjs
module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "error"
}
};
在操場中嘗試此規則 ↗