Spec-Zone.ru › ESLint

block-scoped-var

Обеспечивает использование переменных в области видимости, в которой они объявлены

Правило block-scoped-var генерирует предупреждения, если переменные используются вне блока, в котором они были объявлены. Это имитирует блочную область видимости в стиле C.

Подробности правила

Это правило призвано сократить использование переменных вне контекста их привязки и имитировать традиционную блочную область видимости из других языков. Это поможет новичкам в языке избежать сложных ошибок, связанных с поднятием объявлений переменных.

Примеры неправильного кода для этого правила:

Открыть в Playground
/*eslint block-scoped-var: "error"*/

function doIf() {
    if (true) {
        var build = true;
    }

    console.log(build);
}

function doIfElse() {
    if (true) {
        var build = true;
    } else {
        var build = false;
    }
}

function doTryCatch() {
    try {
        var build = 1;
    } catch (e) {
        var f = build;
    }
}

function doFor() {
    for (var x = 1; x < 10; x++) {
        var y = f(x);
    }
    console.log(y);
}

class C {
    static {
        if (something) {
            var build = true;
        }
        build = false;
    }
}

Примеры правильного кода для этого правила:

Открыть в Playground
/*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.

Дополнительная литература

Области видимости и поднятие объявлений в JavaScript
www.adequatelygood.com
var — JavaScript | MDN
developer.mozilla.org

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/block-scoped-var

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API