block-scoped-var
Обеспечивает использование переменных в области видимости, в которой они объявлены
Правило block-scoped-var генерирует предупреждения, если переменные используются вне блока, в котором они были объявлены. Это имитирует блочную область видимости в стиле C.
Подробности правила
Это правило призвано сократить использование переменных вне контекста их привязки и имитировать традиционную блочную область видимости из других языков. Это поможет новичкам в языке избежать сложных ошибок, связанных с поднятием объявлений переменных.
Примеры неправильного кода для этого правила:
/*eslint block-scoped-var: "error"*/
function doIf() {
if (true) {
var build = true;
}
console.log();
}
function doIfElse() {
if (true) {
var = true;
} else {
var = false;
}
}
function doTryCatch() {
try {
var build = 1;
} catch (e) {
var f = ;
}
}
function doFor() {
for (var x = 1; x < 10; x++) {
var y = f(x);
}
console.log();
}
class C {
static {
if (something) {
var build = true;
}
= false;
}
}
Примеры правильного кода для этого правила:
/*eslint block-scoped-var: "error"*/
function doIf() {
var build;
if (true) {
build = true;
}
console.log(build);
}
function doIfElse() {
var build;
if (true) {
build = true;
} else {
build = false;
}
}
function doTryCatch() {
var build;
var f;
try {
build = 1;
} catch (e) {
f = build;
}
}
function doFor() {
for (var x = 1; x < 10; x++) {
var y = f(x);
console.log(y);
}
}
class C {
static {
var build = false;
if (something) {
build = true;
}
}
}
Параметры
У этого правила нет параметров.
Версия
Это правило появилось в ESLint v0.1.0.
Дополнительная литература
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/block-scoped-var