Top Fehler von JavaScript-Anfängern: Wie man sie vermeidet

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Häufige Anfängerfehler bei JavaScript-Entwicklern (Node.js)



JavaScript ist eine der beliebtesten Programmiersprachen, insbesondere in der Node.js-Umgebung. Allerdings werden seine Flexibilität und asynchrone Natur oft zu Stolpersteinen für Anfänger. In diesem Artikel analysieren wir die 4 häufigsten Fehler, die JavaScript-Anfänger machen, und zeigen anhand klarer Beispiele, wie man sie behebt.



1. Missverständnis von Asynchronität und Code-Ausführungsreihenfolge



Der häufigste Fehler ist die Erwartung, dass Code Zeile für Zeile ausgeführt wird, wie in synchronen Sprachen. In Node.js sind viele Operationen (Dateien lesen, Datenbankabfragen, Timer) asynchron.



Falsches Beispiel:

const fs = require('fs');let data = '';

fs.readFile('file.txt', 'utf8', (err, content) => { if (err) throw err; data = content;});

console.log(data); // Ausgabe: '' (leerer String), nicht der Dateiinhalt


Richtiger Ansatz:

const fs = require('fs').promises;

async function readFile() { try { const data = await fs.readFile('file.txt', 'utf8'); console.log(data); // Jetzt erhalten wir den Dateiinhalt } catch (err) { console.error(err); }}

readFile();


Tipp: Verwenden Sie immer async/await oder Promises (.then()) für die Arbeit mit asynchronem Code. Verlassen Sie sich niemals darauf, dass ein Callback vor der nächsten Zeile ausgeführt wird.



2. Verwirrung mit Gültigkeitsbereich und den Schlüsselwörtern var, let, const



Viele Anfänger verwenden aus Gewohnheit var, ohne zu verstehen, dass es keinen Block-Gültigkeitsbereich hat. Dies führt zu schwer auffindbaren Fehlern in Schleifen und Bedingungsanweisungen.



Falsches Beispiel mit var:

for (var i = 0; i < 5; i++) {  setTimeout(() => console.log(i), 100);}// Ausgabe: 5, 5, 5, 5, 5 (nicht 0,1,2,3,4)


Behebung mit let:

for (let i = 0; i < 5; i++) {  setTimeout(() => console.log(i), 100);}// Ausgabe: 0, 1, 2, 3, 4


Empfehlungen:

  • const — standardmäßig für Variablen verwenden, die nicht neu zugewiesen werden.
  • let — für Variablen, deren Wert sich ändert.
  • var — in modernem Code vermeiden (in Node.js fast nie nötig).


3. Mutation von Objekten und Arrays (Unveränderlichkeit)



Anfänger ändern oft direkt die Quelldaten, was zu Nebeneffekten führt, insbesondere bei der Arbeit mit React, Redux oder einfach komplexer Logik.



Falsches Beispiel:

const user = { name: 'Ivan', age: 30 };

function updateAge(person, newAge) { person.age = newAge; // Mutation des Originalobjekts! return person;}

const updatedUser = updateAge(user, 31);console.log(user.name); // 'Ivan' — alles gutconsole.log(user === updatedUser); // true — es ist dasselbe Objekt, Fehler!


Richtiger Ansatz (Erstellen eines neuen Objekts):

const user = { name: 'Ivan', age: 30 };

function updateAge(person, newAge) { return { ...person, age: newAge }; // Eine Kopie erstellen}

const updatedUser = updateAge(user, 31);console.log(user.age); // 30 — Originalobjekt unverändertconsole.log(updatedUser.age); // 31


Tipp: Verwenden Sie für Arrays map(), filter(), reduce() anstelle von push() oder splice(), wenn Sie die Unveränderlichkeit bewahren möchten.



4. Ignorieren der Fehlerbehandlung bei Promise und async/await



Viele Anfänger vergessen, Fehler in asynchronem Code zu behandeln, was zum Absturz der gesamten Node.js-Anwendung führt.



Falsches Beispiel:

async function fetchData() {  const response = await fetch('https://api.example.com/data');  const data = await response.json();  console.log(data);}

fe

Blogs

Buchempfehlungen