JavaScript Const
- Vorige pagina JS Let
- Volgende pagina JS-beschrijvers
ECMAScript 2015
ES2015 introduceerde twee belangrijke nieuwe JavaScript-sleutelwoorden:let
en const
.
Door const
De variabele die wordt gedefinieerd let
Variabelen lijken op elkaar, maar kunnen niet opnieuw worden toegewezen:
Voorbeeld
const PI = 3.141592653589793; PI = 3.14; // Dit zal fout gaan PI = PI + 10; // Dit zal ook fout gaan
block scope
inblock scopebinnen gebruikt const
De variabele die wordt gedeclareerd let
Variabelen lijken op elkaar.
In dit voorbeeld is x in het blok gedeclareerd, verschillend van x buiten het blok gedeclareerd:
Voorbeeld
var x = 10; // Hier is x 10 { const x = 6; // Hier is x 6 } // Hier is x 10
U kunt in het vorige hoofdstuk JavaScript Let In de middelbare school leer je meer over block scope.
bij de verklaring
JavaScript const
Variabelen moeten worden toegewezen bij de verklaring:
Onjuist
const PI; PI = 3.14159265359;
Juist
const PI = 3.14159265359;
Is geen echte constante
Sleutelwoord const
Enigszins misleidend.
Het definieert geen constante waarde. Het definieert een constante referentie naar de waarde.
Daarom kunnen we de oorspronkelijke waarde van een constante niet wijzigen, maar kunnen we de eigenschappen van het constante object wijzigen.
Oorspronkelijke waarde
Als we een oorspronkelijke waarde toewijzen aan een constante, kunnen we de oorspronkelijke waarde niet wijzigen:
Voorbeeld
const PI = 3.141592653589793; PI = 3.14; // Dit zal fout gaan PI = PI + 10; // Dit zal ook fout gaan
Een constante object kan wijzigen
U kunt eigenschappen van een constante object wijzigen:
Voorbeeld
// U kunt const objecten maken: const car = {type:"porsche", model:"911", color:"Black"}; // U kunt eigenschappen wijzigen: car.color = "White"; // U kunt eigenschappen toevoegen: car.owner = "Bill";
Maar u kunt geen waarde opnieuw toewijzen aan een constante object:
Voorbeeld
const car = {type:"porsche", model:"911", color:"Black"}; car = {type:"Volvo", model:"XC60", color:"White"}; // FOUT
Constante arrays kunnen wijzigen
U kunt elementen van een constante array wijzigen:
Voorbeeld
// U kunt een constante array maken: const cars = ["Audi", "BMW", "porsche"]; // U kunt elementen wijzigen: cars[0] = "Honda"; // U kunt elementen toevoegen: cars.push("Volvo");
Maar u kunt geen waarde opnieuw toewijzen aan een constante array:
Voorbeeld
const cars = ["Audi", "BMW", "porsche"]; cars = ["Honda", "Toyota", "Volvo"]; // FOUT
Browserondersteuning
Internet Explorer 10 of eerder ondersteunt dit niet const
Sleutelwoorden.
De tabel hieronder definieert de eerste browserversies die de const-sleutelwoorden volledig ondersteunen:
Chrome 49 | IE / Edge 11 | Firefox 36 | Safari 10 | Opera 36 |
Maart 2016 | Oktober 2013 | Februari 2015 | September 2016 | Maart 2016 |
Opnieuw declareren
Het is toegestaan om JavaScript opnieuw te declareren op elke locatie in het programma var
Variabele:
Voorbeeld
var x = 2; // Toegestaan var x = 3; // Toegestaan x = 4; // Toegestaan
Het is niet toegestaan om een bestaande variabele opnieuw te declareren in dezelfde scope of block: var
of let
variabele opnieuw te declareren of toe te wijzen aan const
:
Voorbeeld
var x = 2; // Toegestaan const x = 2; // Niet toegestaan { let x = 2; // Toegestaan const x = 2; // Niet toegestaan }
Het is niet toegestaan om een bestaande const variabele opnieuw te declareren of toe te wijzen in dezelfde scope of block:
Voorbeeld
const x = 2; // Toestaan const x = 3; // Niet toegestaan x = 3; // Niet toegestaan var x = 3; // Niet toegestaan let x = 3; // Niet toegestaan { const x = 2; // Toestaan const x = 3; // Niet toegestaan x = 3; // Niet toegestaan var x = 3; // Niet toegestaan let x = 3; // Niet toegestaan }
Opnieuw declareren in een andere scope of blok const
Is toegestaan:
Voorbeeld
const x = 2; // Toestaan { const x = 3; // Toestaan } { const x = 4; // Toestaan }
Opstijging
Door var
Gedefinieerde variabelen wordenOpstijgingnaar het toppunt. Als u niet weet wat opstijging (Hoisting) is, raadpleeg dan dit hoofdstuk over opstijging.
U kunt een var variabele gebruiken voordat deze is verklaard:
Voorbeeld
carName = "Volvo"; // U kunt carName hier gebruiken var carName;
Door const
Gedefinieerde variabelen worden niet naar het toppunt verhoogd.
const
Variabelen kunnen niet worden gebruikt voordat ze zijn verklaard:
Voorbeeld
carName = "Volvo"; // U kunt carName hier niet gebruiken const carName = "Volvo";
- Vorige pagina JS Let
- Volgende pagina JS-beschrijvers