版本

規則參考

ESLint 中的規則按型別分組,以幫助你理解它們的目的。每個規則都有表情符號表示

推薦

使用 recommended 配置從 @eslint/js配置檔案 中啟用此規則

🔧 可修復

此規則報告的一些問題可以透過 --fix 命令列 選項自動修復

💡 有建議

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

❄️ 凍結

此規則當前 凍結 並且不接受功能請求。

可能的問題

這些規則與程式碼中可能的邏輯錯誤有關

強制陣列方法的回撥函式中包含 return 語句

分類

💡 建議

要求在建構函式中呼叫 super()

分類

擴充套件

強制 for 迴圈更新子句將計數器向正確的方向移動

分類

擴充套件

強制 getter 函式中包含 return 語句

分類

擴充套件

禁止在迴圈中使用 await

分類

禁止重新賦值類成員

分類

擴充套件

禁止在條件表示式中使用賦值運算子

分類

擴充套件

禁止重新賦值 constusingawait using 變數

分類

擴充套件

禁止在條件中使用常量表達式

分類

擴充套件

禁止在正則表示式中使用控制字元

分類

擴充套件

禁止使用 debugger

分類

擴充套件

禁止在 function 定義中重複引數

分類

擴充套件

禁止在 if-else-if 鏈中重複條件

分類

擴充套件

禁止在物件字面量中重複鍵

分類

擴充套件

禁止重複 case 標籤

分類

擴充套件

禁止空解構模式

分類

擴充套件

禁止在 catch 子句中重新賦值異常

分類

擴充套件

禁止 case 語句的 fallthrough

分類

擴充套件

禁止重新賦值 function 宣告

分類

擴充套件

禁止將值賦給匯入的繫結

分類

擴充套件

禁止在巢狀塊中進行變數或 function 宣告

分類

禁止在 RegExp 建構函式中使用無效的正則表示式字串

分類

擴充套件

禁止使用會損失精度的字面量數字

分類

擴充套件

禁止在字元類語法中使用由多個程式碼點組成的字元

分類

擴充套件

💡 建議

禁止將全域性物件屬性作為函式呼叫

分類

擴充套件

禁止直接在物件上呼叫某些 Object.prototype 方法

分類

擴充套件

💡 建議

禁止賦值,其中兩側完全相同

分類

擴充套件

禁止比較,其中兩側完全相同

分類

禁止從 setter 函式返回值

分類

擴充套件

禁止稀疏陣列

分類

擴充套件

禁止在普通字串中使用模板字面量佔位符語法

分類

禁止在建構函式中呼叫 super() 之前使用 this/super

分類

擴充套件

禁止宣告但從未使用過的 letvar 變數

分類

擴充套件

禁止使用未宣告的變數,除非在 /*global */ 註釋中提及

分類

擴充套件

禁止在 returnthrowcontinuebreak 語句之後使用不可達程式碼

分類

擴充套件

禁止迴圈體只允許一次迭代的迴圈

分類

禁止在 finally 塊中使用控制流語句

分類

擴充套件

禁止否定關係運算符的左運算元

分類

擴充套件

💡 建議

禁止在不允許 undefined 值的情況下使用可選鏈

分類

擴充套件

禁止使用未使用的變數

分類

擴充套件

💡 建議

禁止在變數定義之前使用變數

分類

禁止變數賦值,當值未使用時

分類

擴充套件

禁止在正則表示式中使用無用的反向引用

分類

擴充套件

禁止賦值,這些賦值可能由於使用 awaityield 而導致競爭條件

分類

要求在檢查 NaN 時呼叫 isNaN()

分類

擴充套件

💡 建議

強制將 typeof 表示式與有效的字串進行比較

分類

擴充套件

💡 建議

建議

這些規則建議以不同的方式做事

強制在物件和類中使用 getter 和 setter 對

分類
arrow-body-style

❄️ 凍結

要求箭頭函式體周圍使用大括號

分類

🔧 修復

強制在變數定義的範圍內使用變數

分類
camelcase

❄️ 凍結

強制使用駝峰命名約定

分類
capitalized-comments

❄️ 凍結

強制或禁止對註釋的第一個字母進行大寫

分類

🔧 修復

強制程式允許的最大圈複雜度

分類

要求 return 語句始終或從不指定值

分類
consistent-this

❄️ 凍結

強制在捕獲當前執行上下文時使用一致的命名

分類
curly

❄️ 凍結

強制對所有控制語句使用一致的大括號樣式

分類

🔧 修復

要求 switch 語句中包含 default 分支

分類

強制 switch 語句中的 default 子句位於最後

分類
default-param-last

❄️ 凍結

強制預設引數位於最後

分類
dot-notation

❄️ 凍結

儘可能強制使用點符號

分類

🔧 修復

要求使用 ===!==

分類

🔧 修復

💡 建議

func-name-matching

❄️ 凍結

要求函式名稱與分配給它們的變數或屬性的名稱匹配

分類

要求或禁止命名 function 表示式

分類
func-style

❄️ 凍結

強制一致地使用 function 宣告或分配給變數的表示式

分類

要求在物件字面量和類中對訪問器對進行分組

分類

要求 for-in 迴圈包含 if 語句

分類
id-denylist

❄️ 凍結

禁止指定的識別符號

分類
id-length

❄️ 凍結

強制執行識別符號的最小和最大長度

分類
id-match

❄️ 凍結

要求識別符號與指定的正則表示式匹配

分類
init-declarations

❄️ 凍結

要求或禁止在變數宣告中進行初始化

分類

強制每個檔案允許的最大類數

分類

強制塊可以巢狀的最大深度

分類

強制每個檔案允許的最大行數

分類

強制回撥可以巢狀的最大深度

分類

強制函式定義中允許的最大引數數

分類

強制函式塊中允許的最大語句數

分類

要求建構函式名稱以大寫字母開頭

分類

禁止使用 alertconfirmprompt

分類

禁止使用 Array 建構函式

分類

🔧 修復

💡 建議

禁止使用按位運算子

分類

禁止使用 arguments.callerarguments.callee

分類

禁止在 case 子句中進行詞法宣告

分類

擴充套件

💡 建議

禁止使用 console

分類

💡 建議

no-continue

❄️ 凍結

禁止使用 continue 語句

分類

禁止刪除變數

分類

擴充套件

no-div-regex

❄️ 凍結

禁止在正則表示式的開頭明確使用等號

分類

🔧 修復

no-else-return

❄️ 凍結

禁止在 if 語句中 return 語句之後使用 else

分類

🔧 修復

禁止空塊語句

分類

擴充套件

💡 建議

禁止在沒有型別檢查運算子的情況下與 null 進行比較

分類

禁止使用 eval()

分類

禁止擴充套件原生型別

分類

禁止不必要的 .bind() 呼叫

分類

🔧 修復

no-extra-boolean-cast

❄️ 凍結

禁止不必要的布林值轉換

分類

擴充套件

🔧 修復

no-extra-label

❄️ 凍結

禁止不必要的標籤

分類

🔧 修復

禁止將賦值分配給原生物件或只讀全域性變數

分類

擴充套件

no-implicit-coercion

❄️ 凍結

禁止簡寫型別轉換

分類

🔧 修復

💡 建議

禁止在全域性範圍內進行宣告

分類

禁止使用類似 eval() 的方法

分類
no-inline-comments

❄️ 凍結

禁止在程式碼之後使用行內註釋

分類

禁止在 this 的值為 undefined 的上下文中使用 this

分類

禁止使用 __iterator__ 屬性

分類
no-label-var

❄️ 凍結

禁止標籤與變數同名

分類
no-labels

❄️ 凍結

禁止使用標籤語句

分類

禁止不必要的巢狀塊

分類
no-lonely-if

❄️ 凍結

禁止在 else 塊中將 if 語句作為唯一語句

分類

🔧 修復

禁止在迴圈語句內部包含不安全引用的函式宣告

分類
no-magic-numbers

❄️ 凍結

禁止使用魔術數字

分類

禁止使用鏈式賦值表示式

分類
no-multi-str

❄️ 凍結

禁止多行字串

分類
no-negated-condition

❄️ 凍結

禁止否定條件

分類
no-nested-ternary

❄️ 凍結

禁止巢狀三元表示式

分類

禁止在賦值或比較之外使用 new 運算子

分類

禁止使用 Function 物件建立 new 運算子

分類

禁止使用 StringNumberBoolean 物件建立 new 運算子

分類

禁止在字串字面量中使用 \8\9 轉義序列

分類

擴充套件

💡 建議

禁止呼叫不帶引數的 Object 建構函式

分類

💡 建議

禁止使用八進位制字面量

分類

擴充套件

禁止在字串字面量中使用八進位制轉義序列

分類

禁止重新分配函式引數

分類
no-plusplus

❄️ 凍結

禁止使用一元運算子 ++--

分類

禁止使用 __proto__ 屬性

分類

禁止變數重新宣告

分類

擴充套件

禁止正則表示式中出現多個空格

分類

擴充套件

🔧 修復

禁止在匯出中使用指定名稱

分類

禁止使用指定的全域性變數

分類

禁止在 import 載入時使用指定的模組

分類

禁止在 return 語句中使用賦值運算子

分類

禁止使用 javascript: URL

分類

禁止使用逗號運算子

分類

禁止變數宣告遮蔽外部作用域中宣告的變數

分類
no-ternary

❄️ 凍結

禁止使用三元運算子

分類

禁止將字面量作為異常丟擲

分類
no-undef-init

❄️ 凍結

禁止將變數初始化為 undefined

分類

🔧 修復

no-undefined

❄️ 凍結

禁止將 undefined 作為識別符號使用

分類
no-underscore-dangle

❄️ 凍結

禁止識別符號中使用懸垂下劃線

分類
no-unneeded-ternary

❄️ 凍結

禁止在存在更簡單替代方案時使用三元運算子

分類

🔧 修復

禁止使用未使用的標籤

分類

擴充套件

🔧 修復

禁止不必要的 .call().apply() 呼叫

分類

禁止不必要的 catch 子句

分類

擴充套件

禁止在物件和類中使用不必要的計算屬性鍵

分類

🔧 修復

no-useless-concat

❄️ 凍結

禁止不必要的字面量或模板字面量的連線

分類

禁止不必要的跳脫字元

分類

擴充套件

💡 建議

禁止將匯入、匯出和解構賦值重新命名為相同名稱

分類

🔧 修復

禁止冗餘的 return 語句

分類

🔧 修復

要求使用 letconst 代替 var

分類

🔧 修復

no-void

❄️ 凍結

禁止使用 void 運算子

分類
no-warning-comments

❄️ 凍結

禁止在註釋中使用指定的警告詞語

分類

禁止使用 with 語句

分類

擴充套件

object-shorthand

❄️ 凍結

要求或禁止物件字面量中使用方法和屬性簡寫語法

分類

🔧 修復

one-var

❄️ 凍結

強制在函式中變數要麼一起宣告,要麼分開宣告

分類

🔧 修復

operator-assignment

❄️ 凍結

要求或禁止在可能的情況下使用賦值運算子簡寫

分類

🔧 修復

prefer-arrow-callback

❄️ 凍結

要求使用箭頭函式作為回撥函式

分類

🔧 修復

要求對聲明後從未重新分配的變數使用 const 宣告

分類

🔧 修復

prefer-destructuring

❄️ 凍結

要求從陣列和/或物件進行解構

分類

🔧 修復

禁止使用 parseInt()Number.parseInt(),而推薦使用二進位制、八進位制和十六進位制字面量

分類

🔧 修復

禁止使用 Object.prototype.hasOwnProperty.call(),而推薦使用 Object.hasOwn()

分類

🔧 修復

prefer-object-spread

❄️ 凍結

禁止使用物件字面量作為第一個引數的 Object.assign,而推薦使用物件展開運算子

分類

🔧 修復

禁止使用 RegExp 建構函式,而推薦使用正則表示式字面量

分類

💡 建議

要求使用剩餘引數代替 arguments

分類
prefer-spread

❄️ 凍結

要求使用展開運算子代替 .apply()

分類
prefer-template

❄️ 凍結

要求使用模板字面量代替字串連線

分類

🔧 修復

禁止在重新丟擲自定義錯誤時丟失原始捕獲的錯誤

分類

擴充套件

💡 建議

強制在使用 parseInt() 時使用基數引數

分類

💡 建議

禁止沒有 await 表示式的非同步函式

分類

💡 建議

強制在正則表示式中使用 uv 標誌

分類

💡 建議

要求生成器函式包含 yield

分類

擴充套件

sort-imports

❄️ 凍結

強制模組內 import 宣告排序

分類

🔧 修復

sort-keys

❄️ 凍結

要求物件鍵排序

分類
sort-vars

❄️ 凍結

要求在同一宣告塊中變數排序

分類

🔧 修復

要求或禁止嚴格模式指令

分類

🔧 修復

vars-on-top

❄️ 凍結

要求 var 宣告放置在其包含作用域的頂部

分類
yoda

❄️ 凍結

要求或禁止“Yoda”條件

分類

🔧 修復

佈局和格式

這些規則關注程式碼的外觀,而不是程式碼的執行方式

要求或禁止 Unicode 位元組順序標記 (BOM)

分類

🔧 修復

已棄用

這些規則已根據 棄用策略 棄用,並由更新的規則取代

id-blacklist 已棄用

id-denylist 取代

分類

no-catch-shadow 已棄用

no-shadow 替代

分類

no-native-reassign 已棄用

no-global-assign 替代

分類

no-negated-in-lhs 已棄用

no-unsafe-negation 替代

分類

no-return-await 已棄用

分類

💡 建議

prefer-reflect 已棄用

分類

已移除

這些規則來自較早版本的 ESLint(在 棄用策略 存在之前)已被新規則替換

global-strict 已移除

strict 替換

no-empty-label 已移除

no-labels 替換

no-extra-strict 已移除

strict 替換

valid-jsdoc 已移除

require-jsdoc 已移除

更改語言