A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/MDN/Writing_guidelines/Code_style_guide/JavaScript below:

Richtlinien für das Schreiben von JavaScript-Codebeispielen - MDN Web Docs

Richtlinien für das Schreiben von JavaScript-Codebeispielen

Die folgenden Richtlinien behandeln das Schreiben von JavaScript-Beispielcode für MDN Web Docs. Dieser Artikel ist eine Liste von Regeln zum Schreiben prägnanter Beispiele, die von möglichst vielen Menschen verstanden werden können.

Allgemeine Richtlinien für JavaScript-Codebeispiele

Dieser Abschnitt erklärt die allgemeinen Richtlinien, die beim Schreiben von JavaScript-Codebeispielen zu beachten sind. Die späteren Abschnitte werden spezifischere Details behandeln.

Format wählen

Meinungen über korrekte Einrückungen, Leerzeichen und Zeilenlängen waren schon immer umstritten. Diskussionen zu diesen Themen lenken von der Erstellung und Pflege von Inhalten ab.

Bei MDN Web Docs verwenden wir Prettier als Code-Formatter, um den Code-Stil konsistent zu halten (und um themenfremde Diskussionen zu vermeiden). Sie können unsere Konfigurationsdatei einsehen, um die aktuellen Regeln kennenzulernen, und die Prettier-Dokumentation lesen.

Prettier formatiert den gesamten Code und hält den Stil konsistent. Dennoch gibt es einige zusätzliche Regeln, die Sie befolgen müssen.

Moderne JavaScript-Funktionen verwenden, wenn unterstützt

Sie können neue Funktionen verwenden, sobald alle großen Browser – Chrome, Edge, Firefox und Safari – sie unterstützen (auch bekannt als Baseline).

Diese Regel gilt nicht für die JavaScript-Funktion, die auf der Seite dokumentiert wird (die stattdessen von den Aufnahmekriterien bestimmt wird). Zum Beispiel können Sie nicht standardmäßige oder experimentelle Funktionen dokumentieren und vollständige Beispiele schreiben, die ihr Verhalten demonstrieren, aber Sie sollten davon absehen, diese Funktionen in Demos für andere nicht verwandte Funktionen, wie eine Web-API, zu verwenden.

Arrays Array-Erstellung

Verwenden Sie bei der Erstellung von Arrays Literale und keine Konstruktoren.

Erstellen Sie Arrays so:

const visitedCities = [];

Tun Sie dies nicht bei der Erstellung von Arrays:

const visitedCities = new Array(length);
Hinzufügen von Elementen

Wenn Sie Elemente zu einem Array hinzufügen, verwenden Sie push() und nicht die direkte Zuweisung. Betrachten Sie das folgende Array:

Fügen Sie Elemente so hinzu:

Fügen Sie keine Elemente so hinzu:

pets[pets.length] = "cat";
Asynchrone Methoden

Das Schreiben von asynchronem Code verbessert die Leistung und sollte wenn möglich verwendet werden. Insbesondere können Sie verwenden:

Wenn beide Techniken möglich sind, bevorzugen wir die einfachere async/await Syntax. Leider können Sie await nicht auf der obersten Ebene verwenden, es sei denn, Sie sind in einem ECMAScript-Modul. CommonJS-Module, die von Node.js verwendet werden, sind keine ES-Module. Wenn Ihr Beispiel überall verwendet werden soll, vermeiden Sie await auf Top-Level.

Kommentare

Kommentare sind entscheidend für das Schreiben guter Codebeispiele. Sie verdeutlichen die Absicht des Codes und helfen Entwicklern, ihn zu verstehen. Achten Sie besonders auf sie.

Einzeilige Kommentare verwenden

Einzeilige Kommentare werden mit // markiert, im Gegensatz zu Blockkommentaren, die zwischen /* … */ eingeschlossen sind.

Im Allgemeinen verwenden Sie einzeilige Kommentare, um Code zu kommentieren. Autoren müssen jede Zeile des Kommentars mit // markieren, damit es einfacher ist, auskommentierten Code visuell zu erkennen. Zusätzlich ermöglicht diese Konvention, Abschnitte des Codes mit /* … */ während des Debuggens auszukommentieren.

Ausgabe von Logs Mehrzeilige Kommentare

Kurze Kommentare sind normalerweise besser, daher versuchen Sie, sie in einer Zeile von 60–80 Zeichen zu halten. Falls dies nicht möglich ist, verwenden Sie // am Anfang jeder Zeile:

// This is an example of a multi-line comment.
// The imaginary function that follows has some unusual
// limitations that I want to call out.
// Limitation 1
// Limitation 2

Verwenden Sie nicht /* … */:

/* This is an example of a multi-line comment.
  The imaginary function that follows has some unusual
  limitations that I want to call out.
  Limitation 1
  Limitation 2 */
Verwenden Sie Kommentare, um Auslassungspunkte zu kennzeichnen

Das Überspringen von redundantem Code mit Ellipsen (…) ist notwendig, um Beispiele kurz zu halten. Dennoch sollten Autoren dies bedacht tun, da Entwickler häufig Beispiele kopieren und in ihren Code einfügen, und alle unsere Codebeispiele sollten gültiges JavaScript sein.

In JavaScript sollten Sie die Ellipsen (…) in einen Kommentar setzen. Wo möglich, geben Sie an, welche Aktion jemand, der diesen Schnipsel wiederverwendet, hinzufügen soll.

Die Verwendung eines Kommentars für die Ellipsen (…) ist expliziter und verhindert Fehler, wenn ein Entwickler einen Beispielcode kopiert und einfügt. Schreiben Sie:

function exampleFunc() {
  // Add your code here
  // …
}

Verwenden Sie Ellipsen (…) nicht wie folgt:

function exampleFunc() {
  …
}
Parameter auskommentieren

Beim Schreiben von Code lassen Sie normalerweise Parameter weg, die Sie nicht benötigen. Aber in einigen Codebeispielen möchten Sie zeigen, dass Sie einige mögliche Parameter nicht verwendet haben.

Um dies zu tun, verwenden Sie /* … */ in der Parameterliste. Dies ist eine Ausnahme von der Regel, nur einzeilige Kommentare (//) zu verwenden.

array.forEach((value /* , index, array */) => {
  // …
});
Funktionen Funktionsnamen

Verwenden Sie für Funktionsnamen camel case und beginnen Sie mit einem Kleinbuchstaben. Verwenden Sie prägnante, menschenlesbare und semantische Namen, wo es angemessen ist.

Das folgende Beispiel zeigt einen korrekten Funktionsnamen:

function sayHello() {
  console.log("Hello!");
}

Verwenden Sie keine Funktionsnamen wie diese:

function SayHello() {
  console.log("Hello!");
}

function doIt() {
  console.log("Hello!");
}
Funktionsdeklarationen Schleifen und Kontrollstrukturen Schleifeninitialisierung

Wenn Schleifen erforderlich sind, wählen Sie die passende aus for(;;), for...of, while, usw.

Warnung: Verwenden Sie niemals for...in mit Arrays und Strings.

Hinweis: Überlegen Sie, überhaupt keine for Schleife zu verwenden. Wenn Sie ein Array (oder einen String für einige Operationen) benutzen, ziehen Sie in Betracht, stattdessen mehr semantische Iterationsmethoden zu verwenden, wie map(), every(), findIndex(), find(), includes(), und viele mehr.

Steueranweisungen

Es gibt einen bemerkenswerten Fall, den Sie bei den Kontrollstrukturen if...else beachten sollten. Wenn die if-Anweisung mit einem return endet, fügen Sie keine else-Anweisung hinzu.

Fahren Sie direkt nach der if-Anweisung fort. Schreiben Sie:

if (test) {
  // Perform something if test is true
  // …
  return;
}

// Perform something if test is false
// …

Schreiben Sie nicht:

if (test) {
  // Perform something if test is true
  // …
  return;
} else {
  // Perform something if test is false
  // …
}
Verwenden Sie Klammern bei Kontrollflussanweisungen und Schleifen

Obwohl Kontrollflussanweisungen wie if, for und while keine Klammern erfordern, wenn der Inhalt aus einer einzelnen Anweisung besteht, sollten Sie immer Klammern verwenden. Schreiben Sie:

for (const car of storedCars) {
  car.paint("red");
}

Schreiben Sie nicht:

for (const car of storedCars) car.paint("red");

Dies verhindert, dass Klammern vergessen werden, wenn weitere Anweisungen hinzugefügt werden.

Switch-Anweisungen

Switch-Anweisungen können ein wenig knifflig sein.

Fehlerbehandlung

Hinweis: Beachten Sie, dass nur wiederherstellbare Fehler abgefangen und behandelt werden sollten. Alle nicht wiederherstellbaren Fehler sollten durchgelassen werden und den Aufruf-Stack hocharbeiten.

Objekte Objektnamen Objekterstellung

Verwenden Sie bei der Erstellung allgemeiner Objekte (d.h. wenn keine Klassen beteiligt sind) Literale und keine Konstruktoren.

Zum Beispiel so:

Erstellen Sie kein allgemeines Objekt wie folgt:

const object = new Object();
Objektklassen Methoden

Verwenden Sie zur Definition von Methoden die Methodendefinitionssyntax:

const obj = {
  foo() {
    // …
  },
  bar() {
    // …
  },
};

Anstatt:

const obj = {
  foo: function () {
    // …
  },
  bar: function () {
    // …
  },
};
Objekteigenschaften Operatoren

Dieser Abschnitt listet unsere Empfehlungen zu welchen Operatoren und wann diese zu verwenden sind.

Bedingungsoperatoren

Wenn Sie einem Variablenliteral abhängig von einer Bedingung einen Wert zuweisen möchten, verwenden Sie einen Bedingungsoperator (ternärer Operator) anstelle einer if...else-Anweisung. Diese Regel gilt auch, wenn ein Wert zurückgegeben wird. Schreiben Sie:

const x = condition ? 1 : 2;

Schreiben Sie nicht:

let x;
if (condition) {
  x = 1;
} else {
  x = 2;
}

Der Bedingungsoperator ist hilfreich, wenn Sie Zeichenfolgen zum Protokollieren von Informationen erstellen. In solchen Fällen führt die Verwendung einer regulären if...else-Anweisung zu langen Codeblöcken für eine Nebenoperation wie das Protokollieren und verschleiert den zentralen Punkt des Beispiels.

Strikter Gleichheitsoperator

Bevorzugen Sie die strikte Gleichheit (dreifach gleich) und Ungleichheitsoperatoren gegenüber den losen Gleichheits- (doppelt gleich) und Ungleichheitsoperatoren.

Verwenden Sie die strikten Gleichheits- und Ungleichheitsoperatoren so:

name === "Shilpa";
age !== 25;

Verwenden Sie nicht die losen Gleichheits- und Ungleichheitsoperatoren, wie unten gezeigt:

name == "Shilpa";
age != 25;

Wenn Sie == oder != verwenden müssen, denken Sie daran, dass == null der einzige akzeptable Fall ist. Da TypeScript in allen anderen Fällen fehlschlägt, möchten wir sie nicht in unseren Beispielcode aufnehmen. Fügen Sie in Erwägung, einen Kommentar hinzuzufügen, um zu erklären, warum Sie es brauchen.

Abkürzungen für Boolesche Tests

Bevorzugen Sie Abkürzungen für Boolesche Tests. Zum Beispiel verwenden Sie if (x) und if (!x), nicht if (x === true) und if (x === false), es sei denn, verschiedene Arten von truthy oder falsy Werten werden unterschiedlich behandelt.

Strings

Stringliterale können innerhalb von einfachen Anführungszeichen, wie in 'A string', oder innerhalb von doppelten Anführungszeichen, wie in "A string", eingeschlossen werden. Machen Sie sich keine Sorgen darüber, welches verwendet wird; Prettier hält es konsistent.

Template-Literale

Zum Einfügen von Werten in Strings verwenden Sie Template-Literale.

Variablen Variablennamen

Gute Variablennamen sind entscheidend, um Code verständlich zu machen.

Hinweis: Der einzige Ort, an dem es erlaubt ist, keine menschenlesbaren, semantischen Namen zu verwenden, ist dort, wo eine sehr allgemein anerkannte Konvention besteht, wie z.B. die Verwendung von i und j für Schleifeniteratoren.

Variablendeklarationen

Verwenden Sie beim Deklarieren von Variablen und Konstanten die Schlüsselwörter let und const, nicht var. Die folgenden Beispiele zeigen, was auf den MDN Web Docs empfohlen wird und was nicht:

Typkonvertierung

Vermeiden Sie implizite Typkonvertierungen. Insbesondere vermeiden Sie +val, um einen Wert in eine Zahl zu zwingen und "" + val, um ihn in eine Zeichenfolge zu zwingen. Verwenden Sie Number() und String(), ohne new, stattdessen. Schreiben Sie:

class Person {
  #name;
  #birthYear;

  constructor(name, year) {
    this.#name = String(name);
    this.#birthYear = Number(year);
  }
}

Schreiben Sie nicht:

class Person {
  #name;
  #birthYear;

  constructor(name, year) {
    this.#name = "" + name;
    this.#birthYear = +year;
  }
}
Web-APIs zu vermeiden

Zusätzlich zu diesen JavaScript-Sprachfunktionen empfehlen wir einige Richtlinien in Bezug auf Web-APIs, die Sie beachten sollten.

Vermeiden Sie Browser-Präfixe

Wenn alle großen Browser (Chrome, Edge, Firefox und Safari) eine Funktion unterstützen, präfixieren Sie die Funktion nicht. Schreiben Sie:

const context = new AudioContext();

Vermeiden Sie die zusätzliche Komplexität von Präfixen. Schreiben Sie nicht:

const AudioContext = window.AudioContext || window.webkitAudioContext;
const context = new AudioContext();

Die gleiche Regel gilt für CSS-Präfixe.

Vermeiden Sie veraltete APIs

Wenn eine Methode, eine Eigenschaft oder eine ganze Schnittstelle veraltet ist, verwenden Sie sie nicht (außerhalb ihrer Dokumentation). Verwenden Sie stattdessen die moderne API.

Hier ist eine nicht abschließende Liste von Web-APIs, die Sie meiden sollten, und was Sie stattdessen verwenden können:

Verwenden Sie sichere und zuverlässige APIs Verwenden Sie die entsprechende Log-Methode Siehe auch

JavaScript-Sprachreferenz - Durchsuchen Sie unsere JavaScript-Referenzseiten, um einige gute, prägnante, bedeutungsvolle JavaScript-Snippets anzusehen.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4