Skip to content
← Back to rules

eslint/no-console 制限

An auto-fix is available for this rule.

何をするか

console の使用を禁止します。

なぜ悪いのか

ブラウザ上で実行されるための設計された JavaScript において、console にアクセスするメソッドを使用することはベストプラクティスとはされていません。これらのメッセージはデバッグ目的のためにのみ使用されるものとされ、クライアントに配信すべきではないと考えられています。一般的に、console を使用する呼び出しは、本番環境にプッシュする前に削除されるべきです。

このルールに違反する誤りの例:

javascript
console.log("デバッグレベルのメッセージをログ出力。");
console.warn("警告レベルのメッセージをログ出力。");
console.error("エラーレベルのメッセージをログ出力。");
console.log = foo();

このルールに準拠する正しい例:

javascript
// カスタムコンソール
Console.log("Hello world!");

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。

allow

type: string[]

default: []

allow オプションは、このルールの例外として指定された console メソッドのリストを使用することを許可します。

たとえば、オプションが { "allow": ["info"] } と設定された場合、ルールの動作は以下の通りになります:

このオプションに違反する誤りの例:

javascript
console.log("foo");

このオプションに準拠する正しい例:

javascript
console.info("foo");

使用方法

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

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

参照