no-lone-blocks
Запрещает ненужные вложенные блоки
В JavaScript до ES6 отдельные блоки кода, ограниченные фигурными скобками, не создают новую область видимости и не имеют практического применения. Например, эти фигурные скобки ничего не делают с foo:
{
var foo = bar();
}
В ES6 блоки кода могут создавать новую область видимости, если в них присутствует блочное объявление (let и const), объявление класса или объявление функции (в строгом режиме). В этих случаях блок не считается избыточным.
Подробное описание правила
Это правило предназначено для устранения ненужных и потенциально запутывающих блоков на верхнем уровне скрипта или внутри других блоков.
Примеры неправильного кода для этого правила:
/*eslint no-lone-blocks: "error"*/
if (foo) {
bar();
}
function bar() {
}
class C {
static {
}
}
Примеры правильного кода для этого правила:
/*eslint no-lone-blocks: "error"*/
while (foo) {
bar();
}
if (foo) {
if (bar) {
baz();
}
}
function bar() {
baz();
}
{
let x = 1;
}
{
const y = 1;
}
{
class Foo {}
}
aLabel: {
}
class C {
static {
lbl: {
if (something) {
break lbl;
}
foo();
}
}
}
Примеры правильного кода для этого правила в среде ES6 и строгом режиме, включённом с помощью "languageOptions": { "sourceType": "module" } в конфигурации ESLint или директивы "use strict" в коде:
/*eslint no-lone-blocks: "error"*/
"use strict";
{
function foo() {}
}
Параметры
Это правило не имеет параметров.
Версия
Это правило появилось в ESLint v0.4.0.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-lone-blocks