395 Stimmen

Warum gibt JSHint eine Warnung aus, wenn ich const verwende?

Dies ist der Fehler, den ich bei Verwendung von const erhalte:

Mein Code sieht so aus:

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

Der Code funktioniert einwandfrei, nur JSHint warnt mich jedes Mal.

672voto

James Hibbard Punkte 15223

Wenn Sie sich auf ECMAScript 6-Funktionen wie const verlassen, sollten Sie diese Option setzen, damit JSHint keine unnötigen Warnungen auslöst.

/*jshint esnext: true */ (Bearbeitung 2015.12.29: Aktualisierte Syntax, um den Kommentaren von Olga gerecht zu werden)

/*jshint esversion: 6 */

const Suites = {
    Spade: 1,
    Heart: 2,
    Diamond: 3,
    Club: 4
};

Diese Option sagt JSHint, dass Ihr Code eine spezifische Syntax von ECMAScript 6 verwendet. http://jshint.com/docs/options/#esversion

Bearbeitung 2017.06.11: Hinzufügen einer weiteren Option basierend auf dieser Antwort.

Obwohl die Inline-Konfiguration gut für eine einzelne Datei funktioniert, können Sie diese Einstellung auch für das gesamte Projekt aktivieren, indem Sie eine .jshintrc Datei im Stammverzeichnis Ihres Projekts erstellen und sie dort hinzufügen.

{
  "esversion": 6
}

315voto

Zanon Punkte 25577

Sie können eine Datei namens .jshintrc in Ihrem Stammverzeichnis der App mit dem folgenden Inhalt hinzufügen, um diese Einstellung für die gesamte Lösung anzuwenden:

{
    "esversion": 6
}

James' Antwort schlägt vor, dass Sie für jede Datei einen Kommentar /*jshint esversion: 6 */ hinzufügen können, aber es ist mehr Arbeit als nötig, wenn Sie viele Dateien kontrollieren müssen.

101voto

Nicholas Gentile Punkte 1512

Ich habe dieselbe Warnung erhalten, als ich eine Export-Anweisung verwendet habe. Ich benutze VS Code und habe einen ähnlichen Ansatz wie die Lösung von Wenlong Jiang verwendet.

  1. Benutzereinstellungen

  2. JSHint-Konfiguration

  3. "jshint.config": {} (Bearbeiten)

  4. Verwenden Sie doppelte Anführungszeichen, wenn Sie "esversion" angeben

    Oder kopieren Sie diesen Abschnitt in die Benutzereinstellungen:

    "jshint.options": {
      "esversion": 6,
    }

Das Erstellen einer .jshintrc-Datei ist nicht erforderlich, wenn Sie die globalen jshint-Einstellungen für Ihren Editor konfigurieren möchten

57voto

Philip Punkte 3496

Wenn Sie VSCode verwenden:

1.

  • Gehen Sie zu Einstellungen -> Optionen (cmd + ,)
  • Geben Sie jshint.options in die Suchleiste ein
  • Fahren Sie mit der Maus darüber und klicken Sie auf das Stiftsymbol
  • Es ist jetzt auf der rechten Seite angehängt.
  • Fügen Sie "esversion": 6 dem Optionsobjekt hinzu.

2.

Oder fügen Sie einfach Folgendes zu Ihren Benutzereinstellungen hinzu:

"jshint.options": {
    "esversion": 6
}

[UPDATE] neue vscode Einstellungen

  • Gehen Sie zu Einstellungen -> Optionen (cmd + ,)
  • Geben Sie jshint in die Suche ein

VSCode Einstellungen

  • Fahren Sie mit Schritt 2. fort.

38voto

Josh Pittman Punkte 6297

Ich habe eine Ewigkeit damit verbracht, das zu reparieren. Jede Lösung spricht von 'Einstellungen setzen'. Ich weiß nicht, was das bedeutet. Schließlich habe ich es herausgefunden. Sie können einfach eine auskommentierte Zeile oben im /*jshint esversion: 6 */ Datei einfügen.

Lösung

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X