eslint/no-unexpected-multiline Suspicious
何をするか
ほとんどの場合、コードが期待通りに解析され実行されるために、JavaScript でセミコロンが必要になるわけではありません。これは通常、セミコロンが固定されたルールに基づいて自動挿入されるためです。このルールは、セミコロンが自動的に挿入されず、予期せず異なる方法で解析される可能性があるケースを検出することを目的としています。
なぜ問題なのか
予期しない改行を含むコードは、開発者が意図した通りに解析・実行されない可能性があります。これにより、追跡が難しいバグが発生する恐れがあります。
例
このルールに対して不正なコードの例:
js
var a = b(x || y).doSomething();
var a = b[(a, b, c)].forEach(doSomething);
let x = (function () {})`hello`;
foo / bar / g.test(baz);このルールに対して正しいコードの例:
js
var a = b;
(x || y).doSomething();
var a = b;
[a, b, c].forEach(doSomething);
let x = function () {};
`hello`;
foo;
/bar/g.test(baz);使い方
設定ファイルまたは CLI でこのルールを有効化するには、次のようにします:
json
{
"rules": {
"no-unexpected-multiline": "error"
}
}bash
oxlint --deny no-unexpected-multiline