Erwartet ';' und sah stattdessen ",". - JSLint Multivar Einstellung

eit dem 14. Januar 2016 beschwert sich JSLint übervar oderlet Deklarationen, die mehr als eine Variable pro Deklaration enthalten und eine neue Direktive erstellt haben,multivar ignoriert dieses neue "Problem".

Dies ist eine ziemlich bedeutende Änderung, da frühere Versionen sich beschweren würden, wenn Sie did Nimm zweivars im selben Codeblock.

Das ist, seit heute (18. Januar 2016), dieser Code bricht jetzt in JSLint:

/*jslint white:true, browser:true, devel:true */
function a(b) {
    "use strict";
    var c, d; // <<< Now bad!!
    d = "test";
    c = d + b;
    console.log(c);
}

Der gemeldete Fehler ist,Expected ';' and instead saw ','. für die Zeilevar c,d;

Die "richtige" Lösung ist anscheinend diese:

/*jslint white:true, browser:true, devel:true */
function a(b) {
    "use strict";
    var c;
    var d;  // <<< this *used* to be forbidden.
    d = "test";
    c = d + b;
    console.log(c);
}

Bitte beachten Sie, dass dieser neu korrekte Code den Fehler erzeugt hätte,Error: combine_var, im frühere Versionen von JSLint.

Die einzigen Beschreibungen für die Änderung von Crockford, die ich finden kann, scheinen zu seindieser Beitrag auf Google Plus:

JSLint hat jetzt einmultivar -Option, die die Deklaration mehrerer Namen in einer einzelnen var-, let- oder const-Anweisung toleriert.

... und eine kurze Erwähnung auf demWebsite Anweisungen ...

Toleriere mehrere Variablendeklarationen pro Anweisung
multivar
true wenn einvar, let, oderconstie @ -Anweisung kann zwei oder mehr Variablen in einer einzigen Anweisung deklariere

Dasmultivar change auf JSLint.com scheint noch nicht im GitHub-Repo zu sein. Siehe die zwei Checkins 1, 2) mit dem Titel "var" für den 14. Januar. Diese beiden sorgen dafür, dass der Code in JSLint der neuen Anforderung entspricht, fügen Sie jedoch (leider) nicht dasmultivar Direktive beschrieben und in Verwendung auf JSLint.com.

Kann mir jemand sagen, warum mehrerevar -Zeilen werden jetzt ermutigt / benötigt, anders als die üblichen "Sie sollten JSLint ignorieren" -Antworten? Das ist, Warum war eine einzelne Variable erforderlich, bevor (Ich würde raten, ein Verständnis für das Heben zu fördern),nd warum ist diese Argumentation plötzlich umstritte

Antworten auf die Frage(2)

Ihre Antwort auf die Frage