# 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.
# 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";
2
Oplossing
Gebruik let
in plaats van const
wanneer je de waarde van de variabele wil aanpassen.
let name = "John";
name = "Jane";
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
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
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
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);
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;
2
Oplossing
Wil je de variabele aanpassen? Dan moet je deze niet opnieuw declareren, maar de waarde aanpassen.
let x = 5;
x = 10;
2
Wil je twee variabelen hebben? Gebruik dan een andere naam.
let x = 5;
let y = 10;
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();
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();
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);
}
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);
}
2
3
4