web2 logo

Artikel Links Notities

const is een read-only variabele

Als je const ziet staan, dan denk je natuurlijk aan een constante. In Javascript is dit min of meer zo. Een const is een immutable variabele. Het is een read-only referentie naar een waarde. Een global const wordt geen eigenschap van het Windows object, dit in tegenstelling tot variabelen die gedeclareerd worden met var. Algemene vorm: const VARIABELE_NAAM = waarde; Het is gangbaar om voor const namen hoofdletters te gebruiken. De scope van een const is het blok waar het in gedeclareerd wordt. Het veranderen van de waarde van een const zal een foutmelding geven: const VOORTGANG = 0.15; VOORTGANG = 0.25; // TypeError Bij het declareen van een const moet je meteen de waarde opgeven, anders krijg je een syntax error: const MAAT; // SyntaxError

De waarde van een const toch aanpassen

Hoewel de variabele die met const gemaakt wordt read-only is, betekent dit niet dat de waarde waarnaar de const refereert niet te wijzigen is. Voorbeeld: const PERSOON = { leeftijd: 25 }; PERSOON.leeftijd = 30; // OK console.log(PERSOON.leeftijd); // 30 PERSOON = {leeftijd: 35}; // TypeError Het is mogelijk om met Object.freeze() de eigenschappen immutable te maken, maar dat geldt dan weer niet voor de objecten waarnaar wordt gerefereert door die eigenschappen. Voorbeelden: const PERSOON = Object.freeze({leeftijd: 25}); PERSOON.leeftijd = 30; // TypeError const KLANT = Object.freeze({ naam: 'Slagerij Jansen', adres: { straat: 'bakkerijstraat 12', plaats: 'Amsterdam', postcode: '1234 AK' } }); KLANT.adres.telefoon = '020-9876543'; // OK

const en arrays

De elementen van een array die aan een const hangt kunnen worden aangepast, maar het opnieuw toewijzen van een array aan die const lukt niet: const KLEUREN = ['blauw']; KLEUREN.push('geel'); console.log(KLEUREN); // ["blauw", "geel"] KLEUREN.pop(); KLEUREN.pop(); console.log(KLEUREN); // [] KLEUREN = []; // TypeError

naar boven

term zoeken

Notitieruimte