# Errors 101

Bij het gebruiken van JavaScript zal je geregeld een error tegen komen. Dit is niet erg, maar het is wel belangrijk dat je weet hoe je deze errors kan oplossen. Hieronder lijsten we de meest voorkomende errors op en hoe je deze kan oplossen.

Belangrijk

Een JavaScript error geeft je steeds aan in welk bestand en op welk regelnummer de fout zich voor doet. Bv. main.js:10 betekent dat de fout zich voordoet in het bestand main.js op regel 10.
Soms is het specifieker, bv. main.js:10:14 betekent dat de fout zich voordoet in het bestand main.js op regel 10 en op karakter 14.

# Error: Cannot find module ‘…’

Deze error komt voor wanneer je bv. met node een bestand probeert uit te voeren, maar het bestand niet gevonden kan worden.

Oplossing
Zorg dat je in de juiste map zit en dat het bestand bestaat.

# SyntaxError: Unexpected token

Deze error komt voor wanneer je een onverwacht karakter gebruikt in je code. Dit kan bijvoorbeeld een vergeten haakje zijn of een spelfout. De error zal je vertellen op welke regel de fout zich bevindt.

Oplossing
Kijk goed na in VS Code waar er een rood lijntje staat en probeer de fout te herstellen.

# TypeError: Assignment to constant variable

Deze error komt voor wanneer je probeert een waarde toe te kennen aan een constante variabele. Een constante variabele kan je niet herdefiniëren.

const name = "John";
name = "Jane";
1
2

Oplossing
Gebruik let in plaats van const wanneer je de waarde van de variabele wil aanpassen.

let name = "John";
name = "Jane";
1
2

# ReferenceError: … is not defined

Deze error komt voor wanneer je een variabele gebruikt die niet gedefinieerd is. Dit kan bijvoorbeeld gebeuren wanneer je een typfout maakt in de naam van een variabele.

const variable = 5;
console.log(varioble); // typo: varioble ipv variable
1
2

Oplossing
Kijk de regel na waar de error zich bevindt en controleer of de variabele correct gedefinieerd is.

const variable = 5;
console.log(variable); // correcte naam
1
2

# TypeError: Cannot read properties of undefined

Deze error komt voor wanneer je een eigenschap van een variabele probeert te lezen die niet bestaat. Dit kan bijvoorbeeld gebeuren wanneer je een functie aanroept die niet bestaat of een eigenschap van een object die niet bestaat (= undefined) probeert te lezen

const person = {
  name: "John"
};
console.log(person.firstName.length); // firstName bestaat niet op het object person
1
2
3
4

Oplossing
Kijk na over welke variabele het gaat. Zoek even uit: waarom is deze variabele undefined? Is deze variabele wel gedefinieerd? Is deze variabele wel geïnitialiseerd?

const person = { 
  name: "John" 
};
console.log(person.name.length);
1
2
3
4

# SyntaxError: Identifier ‘…’ has already been declared

Deze error komt voor wanneer je een variabele probeert te declareren die reeds gedeclareerd is. Dit kan bijvoorvoorbeeld gebeuren wanneer je een variabele probeert te declareren met let of const die reeds gedeclareerd is met let of const.

let x = 5;
let x = 10;
1
2

Oplossing
Wil je de variabele aanpassen? Dan moet je deze niet opnieuw declareren, maar de waarde aanpassen.

let x = 5; 
x = 10;
1
2

Wil je twee variabelen hebben? Gebruik dan een andere naam.

let x = 5;
let y = 10;
1
2

# TypeError: … is not a function

Deze error komt voor wanneer je een functie aanroept die niet bestaat of wanneer je een variabele aanroept die geen functie is (bv. number, string, array, object, boolean, …).

const iAmNotAFunction = "Ik ben geen functie";
iAmNotAFunction();
1
2

Oplossing
Kijk na of de functie die je aanroept wel een functie is en of je de juiste naam gebruikt.

function iAmAFunction() {
  console.log("Ik ben een functie");
};
iAmAFunction();
1
2
3
4

# TypeError: … is not iterable

Deze error komt voor wanneer je een object probeert te itereren (= loopen) dat niet itereerbaar is. Dit kan bijvoorbeeld gebeuren wanneer je een number, boolean, object, … probeert te gebruiken in een for...of loop.

const numbers = 10;
for (const number of numbers) {
  console.log(number);
}
1
2
3
4

Oplossing
Zorg dat je een itereerbaar object gebruikt in de for...of loop.

const numbers = [1, 2, 3, 4, 5];
for (const number of numbers) {
  console.log(number);
}
1
2
3
4
© 2024 Arteveldehogeschool Laatst bijgewerkt: 9/9/2024, 11:39:48