eslint/no-unexpected-multiline 可疑
它的作用
在大多数情况下,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