Если вы хотите, чтобы переменные объявлялись в верхней части блока? - PullRequest
0 голосов
/ 20 сентября 2018

Существует ли правило eslint для принудительного определения переменных в верхней части блока?Правило vars-on-top, кажется, в буквальном смысле применяется только к ключевому слову var, и это не то, что я хочу (например, оно запретит for (var i = 0; ...). Вот надуманный пример.

Bad Code

doWork() {
    const work = this.getWork();

    if (work.isReady) { ... }

    let workResult = work.getResult();

    // ...

    return workResult;
}

Хороший код

doWork() {
    const work = this.getWork();
    let workResult;

    if (work.isReady) { ... }

    workResult = work.getResult();

    // ...

    return workResult;
}

1 Ответ

0 голосов
/ 20 сентября 2018

Я не знаю правила для этого.

Правило var служило довольно важной цели: предотвратить случайное появление ошибок из-за неочевидного поведения подъема, которое var s имеет.Правило заставляло вас поднимать их самостоятельно, делая поведение очевидным (если все еще кто-то раздражает)

С let и const , это больше не проблема , поэтому основные практические причиныдля обеспечения такого поведения больше нет.Использование переменной до ее определения все еще может быть проблемой, но есть no-use-before-define правило , которое обрабатывает это (в том числе для let и const).

...