版本

no-with

禁止使用 with 語句

推薦

設定檔中使用來自 @eslint/jsrecommended 設定會啟用此規則

with 語句可能會有問題,因為它會將物件的成員添加到目前的範圍,使得無法判斷區塊內的變數實際指向什麼。

規則詳細資訊

此規則禁止使用 with 語句。

如果 ESLint 在嚴格模式下解析程式碼,則解析器(而不是此規則)會回報錯誤。

此規則的不正確程式碼範例

在遊樂場中開啟
/*eslint no-with: "error"*/

with (point) {
    r = Math.sqrt(x * x + y * y); // is r a member of point?
}

此規則的正確程式碼範例

在遊樂場中開啟
/*eslint no-with: "error"*/

const r = ({x, y}) => Math.sqrt(x * x + y * y);

何時不使用它

如果您有意使用 with 語句,則可以停用此規則。

版本

此規則在 ESLint v0.0.2 中引入。

延伸閱讀

資源

變更語言