在陣列方法的 callback 中強制使用 return
語句
💡 建議
ESLint 中的規則按類型分組,以幫助您了解它們的目的。每個規則都有表情符號表示
在 組態檔中使用 @eslint/js
的 recommended
配置會啟用此規則
此規則報告的一些問題可透過 --fix
命令列選項自動修正
此規則報告的一些問題可透過編輯器建議手動修正
這些規則與程式碼中可能存在的邏輯錯誤相關
在陣列方法的 callback 中強制使用 return
語句
💡 建議
要求在建構子中使用 super()
呼叫
✅ 擴充
強制「for」迴圈更新子句以正確的方向移動計數器
✅ 擴充
強制在 getter 中使用 return
語句
✅ 擴充
不允許將 async 函式用作 Promise 執行器
✅ 擴充
不允許在迴圈內使用 await
不允許重新指派類別成員
✅ 擴充
不允許與 -0
進行比較
✅ 擴充
不允許在條件表達式中使用指派運算子
✅ 擴充
不允許重新指派 const
變數
✅ 擴充
不允許運算不會影響值的表達式
✅ 擴充
不允許在條件中使用常數表達式
✅ 擴充
不允許從建構子傳回值
不允許在正規表達式中使用控制字元
✅ 擴充
不允許使用 debugger
✅ 擴充
不允許在 function
定義中使用重複的引數
✅ 擴充
不允許重複的類別成員
✅ 擴充
不允許在 if-else-if 鏈中使用重複的條件
✅ 擴充
不允許在物件字面值中使用重複的鍵
✅ 擴充
不允許重複的 case 標籤
✅ 擴充
不允許重複的模組匯入
不允許在正規表達式中使用空的字元類別
✅ 擴充
不允許空的解構模式
✅ 擴充
不允許在 catch
子句中重新指派例外
✅ 擴充
不允許 case
語句的貫穿
✅ 擴充
不允許重新指派 function
宣告
✅ 擴充
不允許指派給匯入的綁定
✅ 擴充
不允許在巢狀區塊中使用變數或 function
宣告
不允許在 RegExp
建構子中使用無效的正規表達式字串
✅ 擴充
不允許不規則的空白
✅ 擴充
不允許遺失精度的數字字面值
✅ 擴充
不允許在字元類別語法中使用由多個程式碼點組成的字元
✅ 擴充
💡 建議
不允許對全域非建構子函式使用 new
運算子
✅ 擴充
不允許將全域物件屬性作為函式呼叫
✅ 擴充
不允許從 Promise 執行器函式傳回值
💡 建議
不允許直接在物件上呼叫某些 Object.prototype
方法
✅ 擴充
💡 建議
不允許兩邊完全相同的指派
✅ 擴充
不允許兩邊完全相同的比較
不允許從 setter 傳回值
✅ 擴充
不允許稀疏陣列
✅ 擴充
不允許在正規字串中使用樣板字面值佔位符語法
不允許在建構子中呼叫 super()
之前使用 this
/super
✅ 擴充
不允許使用未宣告的變數,除非在 /*global */
註解中提及
✅ 擴充
不允許令人困惑的多行表達式
✅ 擴充
不允許未修改的迴圈條件
不允許在 return
、throw
、continue
和 break
語句之後使用無法到達的程式碼
✅ 擴充
不允許主體只允許一次迭代的迴圈
不允許在 finally
區塊中使用控制流程語句
✅ 擴充
不允許否定關係運算子的左運算元
✅ 擴充
💡 建議
不允許在不允許 undefined
值的情況下使用選擇性鏈結
✅ 擴充
不允許未使用的私有類別成員
✅ 擴充
不允許未使用的變數
✅ 擴充
不允許在定義之前使用變數
不允許在未使用值時指派變數
不允許在正規表達式中使用無用的反向參照
✅ 擴充
不允許由於使用 await
或 yield
而可能導致競爭條件的指派
檢查 NaN
時需要呼叫 isNaN()
✅ 擴充
💡 建議
強制將 typeof
表達式與有效的字串進行比較
✅ 擴充
💡 建議
這些規則建議做事的替代方法
在物件和類別中強制使用 getter 和 setter 配對
要求在箭頭函式主體周圍使用大括號
🔧 修正
強制在定義的範圍內使用變數
強制使用 camelcase 命名慣例
強制或不允許註解第一個字母的大寫
🔧 修正
強制類別方法使用 this
強制程式中允許的最大循環複雜度
要求 return
語句始終或從不指定值
強制在捕獲目前執行內容時使用一致的命名
強制所有控制語句使用一致的大括號樣式
🔧 修正
要求在 switch
語句中使用 default
case
強制 switch 語句中的 default 子句放在最後
強制將預設參數放在最後
盡可能強制使用點表示法
🔧 修正
要求使用 ===
和 !==
🔧 修正
要求函式名稱與指派給它們的變數或屬性名稱相符
要求或不允許使用具名的 function
表達式
強制一致使用 function
宣告或指派給變數的表達式
要求在物件字面值和類別中使用分組的存取子配對
要求 for-in
迴圈包含 if
語句
不允許指定的識別符號
強制最小和最大識別符號長度
要求識別符號與指定的正規表達式相符
要求或不允許在變數宣告中初始化
要求或不允許邏輯指派運算子簡寫
🔧 修正
💡 建議
強制每個檔案的最大類別數
強制可以巢狀區塊的最大深度
強制每個檔案的最大行數
強制函式中程式碼的最大行數
強制可以巢狀回呼的最大深度
強制函式定義中參數的最大數量
強制函數區塊中允許的最大陳述式數量
要求建構子名稱以大寫字母開頭
不允許使用 alert
、confirm
和 prompt
不允許使用 Array
建構子
💡 建議
不允許使用位元運算子
不允許使用 arguments.caller
或 arguments.callee
不允許在 case 子句中使用詞法宣告
✅ 擴充
💡 建議
不允許使用 console
💡 建議
不允許使用 continue
陳述式
不允許刪除變數
✅ 擴充
不允許在正規表示式的開頭明確使用等號
🔧 修正
不允許在 if
陳述式中,return
陳述式後方使用 else
區塊
🔧 修正
不允許空的區塊陳述式
✅ 擴充
💡 建議
不允許空函數
不允許空的靜態區塊
✅ 擴充
不允許在沒有類型檢查運算子的情況下比較 null
不允許使用 eval()
不允許擴展原生類型
不允許不必要地呼叫 .bind()
🔧 修正
不允許不必要的布林轉換
✅ 擴充
🔧 修正
不允許不必要的標籤
🔧 修正
不允許賦值給原生物件或唯讀全域變數
✅ 擴充
不允許簡寫的類型轉換
🔧 修正
💡 建議
不允許在全域範圍中宣告變數
不允許使用類似 eval()
的方法
不允許在程式碼後方使用行內註解
不允許在 this
的值為 undefined
的情況下使用 this
不允許使用 __iterator__
屬性
不允許標籤與變數同名
不允許使用帶標籤的陳述式
不允許不必要的巢狀區塊
不允許 if
陳述式作為 else
區塊中的唯一陳述式
🔧 修正
不允許在迴圈陳述式內包含不安全參考的函數宣告
不允許使用魔術數字
不允許使用鏈式賦值運算式
不允許多行字串
不允許否定條件
不允許巢狀的三元運算式
不允許在賦值或比較之外使用 new
運算子
不允許將 new
運算子與 Function
物件一起使用
不允許將 new
運算子與 String
、Number
和 Boolean
物件一起使用
不允許在字串文字中使用 \8
和 \9
跳脫序列
✅ 擴充
💡 建議
不允許在沒有引數的情況下呼叫 Object
建構子
💡 建議
不允許八進位字面值
✅ 擴充
不允許在字串文字中使用八進位跳脫序列
不允許重新賦值 function
參數
不允許使用一元運算子 ++
和 --
不允許使用 __proto__
屬性
不允許重複宣告變數
✅ 擴充
不允許在正規表示式中使用多個空格
✅ 擴充
🔧 修正
不允許在 exports 中使用指定的名稱
不允許使用指定的全域變數
不允許使用 import
載入時指定的模組
不允許在某些物件上使用某些屬性
不允許使用指定的語法
不允許在 return
陳述式中使用賦值運算子
不允許使用 javascript:
URLs
不允許使用逗號運算子
不允許變數宣告遮蔽外部範圍中宣告的變數
不允許識別符號遮蔽受限制的名稱
✅ 擴充
不允許使用三元運算子
不允許將字面值作為例外拋出
不允許將變數初始化為 undefined
🔧 修正
不允許使用 undefined
作為識別符號
不允許在識別符號中使用尾隨底線
當存在更簡單的替代方案時,不允許使用三元運算子
🔧 修正
不允許未使用的運算式
不允許未使用的標籤
✅ 擴充
🔧 修正
不允許不必要地呼叫 .call()
和 .apply()
不允許不必要的 catch
子句
✅ 擴充
不允許在物件和類別中使用不必要的計算屬性鍵
🔧 修正
不允許不必要地串連字面值或模板字面值
不允許不必要的建構子
💡 建議
不允許不必要的跳脫字元
✅ 擴充
💡 建議
不允許將 import、export 和解構賦值重新命名為相同名稱
🔧 修正
不允許多餘的 return 陳述式
🔧 修正
要求使用 let
或 const
而不是 var
🔧 修正
不允許使用 void
運算子
不允許在註解中使用指定的警告詞
不允許使用 with
陳述式
✅ 擴充
要求或不允許物件字面值的函式和屬性簡寫語法
🔧 修正
強制在函數中一起或單獨宣告變數
🔧 修正
要求或不允許在可能的情況下使用賦值運算子簡寫
🔧 修正
要求使用箭頭函數作為回呼
🔧 修正
要求對宣告後永遠不會重新賦值的變數使用 const
宣告
🔧 修正
要求從陣列和/或物件進行解構
🔧 修正
不允許使用 Math.pow
,而傾向使用 **
運算子
🔧 修正
強制在正規表示式中使用具名捕獲群組
💡 建議
不允許使用 parseInt()
和 Number.parseInt()
,而傾向使用二進位、八進位和十六進位字面值
🔧 修正
不允許使用 Object.prototype.hasOwnProperty.call()
,並傾向使用 Object.hasOwn()
🔧 修正
不允許將 Object.assign 與物件字面值作為第一個引數一起使用,並傾向改用物件展開
🔧 修正
要求使用 Error 物件作為 Promise 拒絕的原因
不允許使用 RegExp
建構子,而傾向使用正規表示式字面值
💡 建議
要求使用 rest 參數而不是 arguments
要求使用展開運算子而不是 .apply()
要求使用模板字面值而不是字串串連
🔧 修正
強制在使用 parseInt()
時一致地使用 radix 引數
💡 建議
不允許沒有 await
運算式的 async 函數
💡 建議
強制在 RegExp 上使用 u
或 v
標誌
💡 建議
要求生成器函數包含 yield
✅ 擴充
強制在模組內對 import 宣告進行排序
🔧 修正
要求對物件鍵進行排序
要求在同一個宣告區塊內的變數進行排序
🔧 修正
要求或不允許使用嚴格模式指令
🔧 修正
要求 symbol 描述
要求將 var
宣告放置在它們所屬範圍的頂部
要求或不允許使用「尤達」條件
🔧 修正
這些規則關心程式碼的外觀,而不是執行方式
要求或不允許 Unicode 位元組順序記號 (BOM)
🔧 修正
根據 棄用政策,這些規則已被棄用,並由較新的規則取代
array-bracket-newline 已棄用
❌
🔧 修正
array-bracket-spacing 已棄用
❌
🔧 修正
array-element-newline 已棄用
❌
🔧 修正
arrow-parens 已棄用
❌
🔧 修正
arrow-spacing 已棄用
❌
🔧 修正
block-spacing 已棄用
❌
🔧 修正
brace-style 已棄用
❌
🔧 修正
callback-return 已棄用
❌
comma-dangle 已棄用
❌
🔧 修正
comma-spacing 已棄用
❌
🔧 修正
comma-style 已棄用
❌
🔧 修正
computed-property-spacing 已棄用
❌
🔧 修正
dot-location 已棄用
❌
🔧 修正
eol-last 已棄用
❌
🔧 修正
func-call-spacing 已棄用
❌
🔧 修正
function-call-argument-newline 已棄用
❌
🔧 修正
function-paren-newline 已棄用
❌
🔧 修正
generator-star-spacing 已棄用
❌
🔧 修正
global-require 已棄用
❌
handle-callback-err 已棄用
❌
id-blacklist 已棄用
由 id-denylist
取代
❌
implicit-arrow-linebreak 已棄用
❌
🔧 修正
indent 已棄用
❌
🔧 修正
indent-legacy 已棄用
由 indent
取代
❌
🔧 修正
jsx-quotes 已棄用
❌
🔧 修正
key-spacing 已棄用
❌
🔧 修正
keyword-spacing 已棄用
❌
🔧 修正
line-comment-position 已棄用
❌
linebreak-style 已棄用
❌
🔧 修正
lines-around-comment 已棄用
❌
🔧 修正
lines-around-directive 已棄用
❌
🔧 修正
lines-between-class-members 已棄用
❌
🔧 修正
max-len 已棄用
❌
max-statements-per-line 已棄用
❌
multiline-comment-style 已棄用
❌
🔧 修正
multiline-ternary 已棄用
❌
🔧 修正
new-parens 已棄用
❌
🔧 修正
newline-after-var 已棄用
❌
🔧 修正
newline-before-return 已棄用
❌
🔧 修正
newline-per-chained-call 已棄用
❌
🔧 修正
no-buffer-constructor 已棄用
❌
no-catch-shadow 已棄用
已由 no-shadow
取代
❌
no-confusing-arrow 已棄用
❌
🔧 修正
no-extra-parens 已棄用
❌
🔧 修正
no-extra-semi 已棄用
❌
🔧 修正
no-floating-decimal 已棄用
❌
🔧 修正
no-mixed-operators 已棄用
❌
no-mixed-requires 已棄用
❌
no-mixed-spaces-and-tabs 已棄用
❌
no-multi-spaces 已棄用
❌
🔧 修正
no-multiple-empty-lines 已棄用
❌
🔧 修正
no-native-reassign 已棄用
已由 no-global-assign
取代
❌
no-negated-in-lhs 已棄用
已由 no-unsafe-negation
取代
❌
no-new-object 已棄用
已由 no-object-constructor
取代
❌
no-new-require 已棄用
❌
no-new-symbol 已棄用
❌
no-path-concat 已棄用
❌
no-process-env 已棄用
❌
no-process-exit 已棄用
❌
no-restricted-modules 已棄用
❌
no-return-await 已棄用
❌
💡 建議
no-spaced-func 已棄用
已由 func-call-spacing
取代
❌
🔧 修正
no-sync 已棄用
❌
no-tabs 已棄用
❌
no-trailing-spaces 已棄用
❌
🔧 修正
no-whitespace-before-property 已棄用
❌
🔧 修正
nonblock-statement-body-position 已棄用
❌
🔧 修正
object-curly-newline 已棄用
❌
🔧 修正
object-curly-spacing 已棄用
❌
🔧 修正
object-property-newline 已棄用
❌
🔧 修正
one-var-declaration-per-line 已棄用
❌
🔧 修正
operator-linebreak 已棄用
❌
🔧 修正
padded-blocks 已棄用
❌
🔧 修正
padding-line-between-statements 已棄用
❌
🔧 修正
prefer-reflect 已棄用
❌
quote-props 已棄用
❌
🔧 修正
quotes 已棄用
❌
🔧 修正
rest-spread-spacing 已棄用
❌
🔧 修正
semi 已棄用
❌
🔧 修正
semi-spacing 已棄用
❌
🔧 修正
semi-style 已棄用
❌
🔧 修正
space-before-blocks 已棄用
❌
🔧 修正
space-before-function-paren 已棄用
❌
🔧 修正
space-in-parens 已棄用
❌
🔧 修正
space-infix-ops 已棄用
❌
🔧 修正
space-unary-ops 已棄用
❌
🔧 修正
spaced-comment 已棄用
❌
🔧 修正
switch-colon-spacing 已棄用
❌
🔧 修正
template-curly-spacing 已棄用
❌
🔧 修正
template-tag-spacing 已棄用
❌
🔧 修正
wrap-iife 已棄用
❌
🔧 修正
wrap-regex 已棄用
❌
🔧 修正
yield-star-spacing 已棄用
❌
🔧 修正
這些來自舊版 ESLint 的規則(在 棄用政策 存在之前)已被較新的規則取代
generator-star 已移除
已由 generator-star-spacing
取代
global-strict 已移除
已由 strict
取代
no-arrow-condition 已移除
no-comma-dangle 已移除
已由 comma-dangle
取代
no-empty-class 已移除
已由 no-empty-character-class
取代
no-empty-label 已移除
已由 no-labels
取代
no-extra-strict 已移除
已由 strict
取代
no-reserved-keys 已移除
已由 quote-props
取代
no-space-before-semi 已移除
已由 semi-spacing
取代
no-wrap-func 已移除
已由 no-extra-parens
取代
space-after-function-name 已移除
space-after-keywords 已移除
已由 keyword-spacing
取代
space-before-function-parentheses 已移除
space-before-keywords 已移除
已由 keyword-spacing
取代
space-in-brackets 已移除
space-return-throw-case 已移除
已由 keyword-spacing
取代
space-unary-word-ops 已移除
已由 space-unary-ops
取代
spaced-line-comment 已移除
已由 spaced-comment
取代
valid-jsdoc 已移除
已由
require-jsdoc 已移除
已由