Skip to content
← Back to rules

eslint/no-with 正しさ

This rule is turned on by default.

何をするか

with 文を禁止します。

なぜ問題なのか

with 文は、オブジェクトのメンバーを現在のスコープに追加するため、ブロック内の変数が実際に何を参照しているか判断できなくなる可能性があるため、問題があります。

一般的に悪い習慣とされ、厳格モードでは禁止されています。

alwaysStrict が有効な場合、TypeScript コードではこのルールは不要です。

このルールに対して誤りなコードの例:

javascript
with (point) {
  r = Math.sqrt(x * x + y * y); // r は point のメンバーですか?
}

使用方法

設定ファイルまたは CLI でこのルールを有効化するには、次のように使用できます:

json
{
  "rules": {
    "no-with": "error"
  }
}
bash
oxlint --deny no-with

参照