In JavaScript zijn zowel `undefined` als `null` speciale waarden die allebei aangeven dat een waarde ontbreekt of niet bestaat. Maar ze worden op verschillende manieren en in verschillende contexten gebruikt:
- `undefined` betekent dat een variabele is gedeclareerd maar nog geen waarde heeft gekregen. Bijvoorbeeld:
\`\`\`javascript let test; console.log(test); // undefined \`\`\` Ook wanneer een objecteigenschap of array-element niet bestaat, zal je `undefined` krijgen. Bijvoorbeeld: \`\`\`javascript let test = {}; console.log(test.myProp); // undefined let testArray = [1, 2, 3]; console.log(testArray5); // undefined \`\`\`- `null`, aan de andere kant, is een toewijsbare waarde die aangeeft dat de variabele bewust geen waarde heeft. Het is een waarde die je expliciet aan een variabele kunt toewijzen om aan te geven dat het “leeg” of “niets” is. Bijvoorbeeld:
\`\`\`javascript let test = null; console.log(test); // null \`\`\` Het is belangrijk op te merken dat JavaScript `null` en `undefined` als gelijk beschouwt wanneer je ze vergelijkt met het dubbele gelijkheidssymbool (`==`), maar niet wanneer je ze vergelijkt met het strikte gelijkheidssymbool (`===`). Bijvoorbeeld: \`\`\`javascript console.log(undefined null); // true console.log(undefined = null); // false \`\`\`Kortom, het verschil tussen `undefined` en `null` in JavaScript is dat `undefined` aangeeft dat er geen waarde is toegewezen aan een variabele, objecteigenschap of array-element, terwijl `null` aangeeft dat een variabele bewust geen waarde heeft.