vars-on-top
Требует размещать объявления var в начале содержащей их области видимости
Это правило в настоящее время заморожено, и предложения по его функциональности не принимаются.
Правило 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