Codeanalyse: ESLint 8.31 nimmt den Einsatz von Unterstrichen unter die Lupe

Das Minor Release des JavaScript-Linters bringt zwei neue Optionen für den Umgang mit Unterstrichen in Identifiern und führt Bugfixes ein.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen

(Bild: Billion Photos/Shutterstock.com)

Lesezeit: 2 Min.

Das Open-Source-Tool ESLint hat Version 8.31 erreicht. Es dient der statischen Codeanalyse für JavaScript-Code und präsentiert neue Optionen für den Umgang mit Dangling Underscores. Daneben behebt Version 8.31 Bugs der Vorversion und aktualisiert die Dokumentation.

Die bereits mit ESLint 0.0.9 eingeführte Regel no-underscore-dangle erklärt Dangling Underscores für unzulässig. Dabei handelt es sich um Unterstriche, die am Beginn oder Ende eines Identifiers stehen, beispielsweise var _foo;. Wie das ESLint-Team ausführt, geht diese Schreibweise auf das Hervorheben "privater" Member von Objekten zurück. Da JavaScript keine wirklich privaten Member besitze, sei die Hervorhebung als Warnung zu verstehen. Das Verwenden von Dangling Underscores ist laut dem Team schlicht eine Präferenz.

Wer no-underscore-dangle einsetzt, würde mit diesem Beispiel gegen die Regel verstoßen:

/*eslint no-underscore-dangle: "error"*/

var foo_;
var __proto__ = {};
foo._bar();

Korrekter Code wäre beispielsweise:

/*eslint no-underscore-dangle: "error"*/

var _ = require('underscore');
var obj = _.contains(items, item);
obj.__proto__ = {};
var file = __filename;
function foo(_bar) {};
const foo = { onClick(_bar) {} };
const foo = (_bar) => {};

In Version 8.31 bietet ESLint zwei zusätzliche Optionen für no-underscore-dangle: allowInArrayDestructuring und allowInObjectDestructuring. Sie sind standardmäßig auf true gesetzt, um eine Abwärtskompatibilität zu gewährleisten. Dangling Underscores in Variablennamen, die durch Array und Object Destructuring zugewiesen wurden, sind dann zulässig. Um auf Dangling Underscores in diesen Fällen zu prüfen, können Entwicklerinnen und Entwickler die Optionen auf false stellen.

Heise-Konferenz: Mehr Performance für JavaScript, CSS und Angular

Die Veranstalter heise Developer, iX und dpunkt.verlag richten am 15. Februar 2023 den enterJS Web-Performance Day aus. Teilnehmende lernen dort State-of-the-Art Tools für mehr Geschwindigkeit kennen. Performance-Expertinnen und -Experten zeigen in sieben Online-Vorträgen, wie sich Webanwendungen beschleunigen lassen. Deep Dives zu Angular und zu JavaScript gibt es in 2-Tages-Workshops, die ebenfalls online stattfinden.

Neben weiteren Neuerungen behebt ESLint 8.31 zwei in der vorherigen Version aufgefallene Fehler. So soll ein verändertes Autofix-Verhalten der Regel prefer-arrow-callback nun Syntaxfehler vermeiden und eine neue Instanz von FlatESLint lädt nun die jeweils neueste Version der Konfigurationsdatei.

Die Dokumentation für ESLint hat ebenfalls Updates erhalten. Sie zeigt neben bestehenden Social-Media-Buttons einen neuen Mastodon-Link an und korrigiert den npm-Link sowie das bisherige Fehlen von Länderflaggen-Icons in der Sprachauswahl. Die Flaggen sind nun neben der jeweiligen Sprache zu sehen.

Alle Details zum neuen Minor Release lassen sich dem ESLint-Blog entnehmen.

(mai)