2017-09-07 1 views

Antwort

1

Der Hauptgrund ist die Rückwärtskompatibilität. Ansonsten kann ich nicht sehen. Also, wenn Sie einen transpiler verwenden, dann wirklich keinen Sinn in var verwenden. Es sei denn, Sie brauchen eine globale Variable, aber das ist böse.

+0

Auch dagegen, aber ich empfehle 'window.myVar' zu schreiben, wenn Sie eine globale benötigen. Es ist schwieriger, so zu verpassen. –

+1

@SamR Nicht jeder verwendet JS im Browser, und selbst dort gibt es nicht immer ein 'Fenster'. – Bergi

+0

@Bergi Das stimmt. Ich konzentriere mich eher auf die Kundenseite. Sie können in jeder Umgebung eine globale Variable mit "let" erstellen, selbst dann brauchen Sie nicht "var". –

3

Abwärtskompatibilität (Schreiben/Warten von ES5) oder die Fähigkeit, Sloppy-Code zu schreiben/zu pflegen.

var, im Gegensatz zu let oder const kann eine Variable mehrmals im selben Bereich neu definieren. Vor allem, wenn Sie etwas umstrukturieren, das bereits ein Chaos war, müssen Sie vielleicht für eine Weile bei var bleiben.

Es gibt viel Code, der i in mehreren for Schleifen neu definiert, die einen Fehler werfen würden, wenn Sie eine Instanz durch let ersetzen.

Dies ist etwas, das Linting-Tools seit Jahren zu fangen haben, aber das bedeutet nicht, dass der ganze skizzenhafte Code da draußen wegging.

Verwandte Themen