JS-zelfstudie

JS HOME JS Introductie JS Waarheen? JS-uitgang JS-verklaringen JS-syntaxis JS-opmerkingen JS-variabelen JS Let JS Const JS-operators JS Rekenen JS-opdracht JS-gegevenstypen JS-functies JS-objecten JS-evenementen JS-snaren JS String-methoden JS String zoeken JS String-sjablonen JS-nummers JS-nummermethoden JS-arrays JS-array-methoden JS-array sorteren JS-array-iteratie JS Array Const JS-datums JS-datumnotaties JS Datum Ophaalmethoden Methoden voor het instellen van JS-datum JS Math JS Willekeurig JS Booleans JS-vergelijkingen JS-voorwaarden JS-schakelaar JS Loop For JS-lus voor binnen JS Loop For Of JS-lus terwijl JS Break JS-iteraties JS-sets JS-kaarten JS Typeof JS Type conversie JS Bitwise JS RegExp JS-fouten JS-bereik JS Hijsen JS strikte modus JS dit trefwoord JS-pijlfunctie JS-lessen JS JSON JS-foutopsporing JS-stijlgids JS-best practices JS-fouten JS-prestaties JS Gereserveerde Woorden

JS-versies

JS-versies JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Edge JS-geschiedenis

JS-objecten

Objectdefinities Objecteigenschappen Objectmethoden Objectweergave Objectaccessoires Objectconstructeurs Objectprototypes Object-Iterables Objectsets Objectkaarten Objectreferentie

JS-functies

Functiedefinities Functieparameters: Functie-aanroep Functie-oproep: Functie Toepassen Functie Sluitingen

JS-lessen

Klas Intro Klasse Overerving Klasse Statisch

JS Asynchrone

JS-callbacks JS asynchroon JS belooft JS Async/Wachten

JS HTML DOM

DOM Intro DOM-methoden DOM-document DOM-elementen DOM HTML DOM-formulieren DOM-CSS DOM-animaties DOM-evenementen DOM-gebeurtenisluisteraar DOM-navigatie DOM-knooppunten DOM-collecties DOM-knooppuntlijsten

JS-browserstuklijst

JS-venster JS-scherm JS-locatie JS-geschiedenis JS-navigator JS pop-upwaarschuwing JS-timing JS-koekjes

JS Web API's

Introductie web-API Web Forms API Webgeschiedenis-API Webopslag-API Web Worker-API Web Fetch-API Webgeolocatie-API

JS AJAX

Ajax-intro AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

JS JSON

JSON-intro JSON-syntaxis JSON versus XML JSON-gegevenstypen JSON ontleden JSON Stringify JSON-objecten JSON-arrays JSON-server JSON PHP JSON HTML JSON JSONP

JS versus jQuery

jQuery-kiezers jQuery HTML jQuery CSS jQuery DOM

JS-graphics

JS-graphics JS Canvas JS Plotly JS Chart.js JS Google-kaart JS D3.js

JS-voorbeelden

JS-voorbeelden JS HTML DOM JS HTML-invoer JS HTML-objecten JS HTML-evenementen JS-browser JS-editor JS-oefeningen JS-quiz JS-certificaat

JS-referenties

JavaScript-objecten HTML DOM-objecten


JavaScript Const

Het consttrefwoord werd geïntroduceerd in ES6 (2015) .

Variabelen gedefinieerd met constkunnen niet opnieuw worden gedeclareerd.

Variabelen gedefinieerd met constkunnen niet opnieuw worden toegewezen.

Variabelen gedefinieerd met consthebben Block Scope.

Kan niet opnieuw worden toegewezen

Een constvariabele kan niet opnieuw worden toegewezen:

Voorbeeld

const PI = 3.141592653589793;
PI = 3.14;      // This will give an error
PI = PI + 10;   // This will also give an error

Moet worden toegewezen

JavaScript- constvariabelen moeten een waarde krijgen wanneer ze worden gedeclareerd:

Correct

const PI = 3.14159265359;

Niet correct

const PI;
PI = 3.14159265359;

Wanneer JavaScript-const gebruiken?

Als algemene regel geldt dat u een variabele altijd met declareert, consttenzij u weet dat de waarde zal veranderen.

Gebruik constwanneer u aangeeft:

  • Een nieuwe array
  • Een nieuw object
  • Een nieuwe functie
  • Een nieuwe RegExp

Constante objecten en arrays

Het trefwoord constis een beetje misleidend.

Het definieert geen constante waarde. Het definieert een constante verwijzing naar een waarde.

Hierdoor kun je NIET:

  • Een constante waarde opnieuw toewijzen
  • Een constante array opnieuw toewijzen
  • Een constant object opnieuw toewijzen

    Maar je kan:

  • De elementen van constante array wijzigen
  • De eigenschappen van een constant object wijzigen

Constante arrays

U kunt de elementen van een constante array wijzigen:

Voorbeeld

// You can create a constant array:
const cars = ["Saab", "Volvo", "BMW"];

// You can change an element:
cars[0] = "Toyota";

// You can add an element:
cars.push("Audi");

Maar u kunt de array NIET opnieuw toewijzen:

Voorbeeld

const cars = ["Saab", "Volvo", "BMW"];

cars = ["Toyota", "Volvo", "Audi"];    // ERROR

Constante objecten

U kunt de eigenschappen van een constant object wijzigen:

Voorbeeld

// You can create a const object:
const car = {type:"Fiat", model:"500", color:"white"};

// You can change a property:
car.color = "red";

// You can add a property:
car.owner = "Johnson";

Maar u kunt het object NIET opnieuw toewijzen:

Voorbeeld

const car = {type:"Fiat", model:"500", color:"white"};

car = {type:"Volvo", model:"EX60", color:"red"};    // ERROR

Browserondersteuning

Het consttrefwoord wordt niet ondersteund in Internet Explorer 10 of eerder.

De volgende tabel definieert de eerste browserversies met volledige ondersteuning voor het consttrefwoord:

Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
Mar, 2016 Oct, 2013 Feb, 2015 Sep, 2016 Mar, 2016


Bereik blokkeren

Het declareren van een variabele met constis vergelijkbaar let met Block Scope .

De x gedeclareerd in het blok, in dit voorbeeld, is niet hetzelfde als de x gedeclareerd buiten het blok:

Voorbeeld

const x = 10;
// Here x is 10

{
const x = 2;
// Here x is 2
}

// Here x is 10

U kunt meer leren over blokbereik in het hoofdstuk JavaScript-bereik .


Opnieuw declareren

Het opnieuw declareren van een JavaScript- varvariabele is overal in een programma toegestaan:

Voorbeeld

var x = 2;     // Allowed
var x = 3;     // Allowed
x = 4;         // Allowed

Het opnieuw declareren van een bestaande varof let variabele naar const, in hetzelfde bereik, is niet toegestaan:

Voorbeeld

var x = 2;     // Allowed
const x = 2;   // Not allowed

{
let x = 2;     // Allowed
const x = 2;   // Not allowed
}

{
const x = 2;   // Allowed
const x = 2;   // Not allowed
}

Het opnieuw toewijzen van een bestaande constvariabele in hetzelfde bereik is niet toegestaan:

Voorbeeld

const x = 2;     // Allowed
x = 2;           // Not allowed
var x = 2;       // Not allowed
let x = 2;       // Not allowed
const x = 2;     // Not allowed

{
  const x = 2;   // Allowed
  x = 2;         // Not allowed
  var x = 2;     // Not allowed
  let x = 2;     // Not allowed
  const x = 2;   // Not allowed
}

Het opnieuw declareren van een variabele met const, in een ander bereik, of in een ander blok, is toegestaan:

Voorbeeld

const x = 2;       // Allowed

{
  const x = 3;   // Allowed
}

{
  const x = 4;   // Allowed
}

Const hijsen

Variabelen gedefinieerd met varworden naar boven gehesen en kunnen op elk moment worden geïnitialiseerd.

Betekenis: U kunt de variabele gebruiken voordat deze wordt gedeclareerd:

Voorbeeld

Dit is oke:

carName = "Volvo";
var carName;

Als je meer wilt weten over hijsen, lees dan het hoofdstuk JavaScript Hijsen .

Variabelen gedefinieerd met constworden ook naar boven gehesen, maar niet geïnitialiseerd.

Betekenis: het gebruik van een constvariabele voordat deze wordt gedeclareerd, resulteert in een ReferenceError:

Voorbeeld

alert (carName);
const carName = "Volvo";