Переменные сверху
Требует, чтобы объявления переменных располагались в начале области видимости.
Правило vars-on-top генерирует предупреждения, когда объявления переменных не используются последовательно в начале области видимости функции или программы. По умолчанию объявления переменных всегда невидимо перемещаются («поднимаются») в начало их области видимости интерпретатором JavaScript. Это правило заставляет программиста представлять это поведение, вручную перемещая объявление переменной в начало области видимости.
Подробности правила
Это правило направлено на сохранение всех объявлений переменных в начале списка инструкций. Разрешение нескольких объявлений способствует улучшению поддерживаемости и поэтому разрешено.
Примеры неправильного кода для этого правила:
/*eslint vars-on-top: "error"*/
// Variable declaration in a nested block, and a variable declaration after other statements:
function doSomething() {
if (true) {
}
}
// Variable declaration in for initializer:
function doSomethingElse() {
for (; i<10; i++) {}
}
/*eslint vars-on-top: "error"*/
// Variable declaration after other statements:
f();
/*eslint vars-on-top: "error"*/
// Variables in class static blocks should be at the top of the static blocks.
class C {
// Variable declaration in a nested block:
static {
if (something) {
}
}
// Variable declaration after other statements:
static {
f();
}
}
Примеры правильного кода для этого правила:
/*eslint vars-on-top: "error"*/
function doSomething() {
var first;
var second; //multiple declarations are allowed at the top
if (true) {
first = true;
}
}
function doSomethingElse() {
var i;
for (i=0; i<10; i++) {}
}
/*eslint vars-on-top: "error"*/
var a;
f();
/*eslint vars-on-top: "error"*/
class C {
static {
var a;
if (something) {
a = true;
}
}
static {
var a;
f();
}
}
/*eslint vars-on-top: "error"*/
// Directives may precede variable declarations.
"use strict";
var a;
f();
// Comments can describe variables.
function doSomething() {
// this is the first var.
var first;
// this is the second var.
var second
}
Версия
Это правило было добавлено в ESLint v0.8.0.
Дополнительное чтение
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/vars-on-top