JavaScript Const
- Forrige side JS Let
- Næste side JS operatorer
Kursusanbefaling:
ECMAScript 2015let
ES2015 indførte to vigtige nye JavaScript-nøgleord: const
og
Gennem const
。 let
Definerede variabler er
Eksempel
const PI = 3.141592653589793; PI = 3.14; // Det vil fejle PI = PI + 10; // Det vil også fejle
i
Variabler ligner, men kan ikke ændres igen:iblokkskala const
brugt let
Deklarerede variabler er
Variabler ligner.
Eksempel
I dette eksempel er x deklareres i blokken, forskellig fra x uden for blokken: // Her er x 6 { var x = 10; const x = 6; } // Her er x 6
// Her er x 10 JavaScript Let Lær mere om blokkskala i kapitel 6.
ved deres deklaration
JavaScript const
Variabler skal tildelinges værdi ved deres deklaration:
Forkert
const PI; PI = 3.14159265359;
Korrekt
const PI = 3.14159265359;
Ikke en rigtig konstant
Nøgleord const
Det er lidt misvisende.
Det har ikke defineret en konstant værdi. Det definerer en konstant reference til værdien.
Derfor kan vi ikke ændre den oprindelige værdi af en konstant, men vi kan ændre egenskaberne på en konstant objekt.
Oprindelig værdi
Hvis vi tildeler en oprindelig værdi til en konstant, kan vi ikke ændre oprindeligt værdi:
Eksempel
const PI = 3.141592653589793; PI = 3.14; // Det vil fejle PI = PI + 10; // Det vil også fejle
En konstant objekt kan ændres
Du kan ændre egenskaberne på en konstant objekt:
Eksempel
// Du kan oprette const-objekter: const car = {type:"porsche", model:"911", color:"Sort"}; // Du kan ændre egenskaber: car.color = "Hvid"; // Du kan tilføje egenskaber: car.ejer = "Bill";
Men du kan ikke tildele en værdi til en konstant objekt igen:
Eksempel
const car = {type:"porsche", model:"911", color:"Sort"}; car = {type:"Volvo", model:"XC60", color:"Hvid"}; // FEJL
Konstant array kan ændres
Du kan ændre elementerne i en konstant array:
Eksempel
// Du kan oprette en konstant array: const cars = ["Audi", "BMW", "porsche"]; // Du kan ændre elementer: cars[0] = "Honda"; // Du kan tilføje elementer: cars.push("Volvo");
Men du kan ikke tildele en værdi til en konstant array igen:
Eksempel
const cars = ["Audi", "BMW", "porsche"]; cars = ["Honda", "Toyota", "Volvo"]; // FEJL
Browserunderstøttelse
Internet Explorer 10 eller tidligere versioner understøtter ikke const
Nøgleord.
Følgende tabel definerer den første browserversion, der fuldt ud understøtter const-nøglen:
Chrome 49 | IE / Edge 11 | Firefox 36 | Safari 10 | Opera 36 |
2016 år 3 måned | 2013 år 10 måned | 2015 år 2 måned | 2016 år 9 måned | 2016 år 3 måned |
Omdeklarere
Det er tilladt at omdeklarere JavaScript i ethvert sted i programmet var
Variabel:
Eksempel
var x = 2; // Tilladt var x = 3; // Tilladt x = 4; // Tilladt
Det er ikke tilladt at omdeklarere eller tildele værdi til en eksisterende variabel i samme område eller blok: var
eller let
Omdeklarere eller tildele værdi til const
:
Eksempel
var x = 2; // Tilladt const x = 2; // Ikke tilladt { let x = 2; // Tilladt const x = 2; // Ikke tilladt }
Det er ikke tilladt at omdeklarere eller tildele værdi til en eksisterende const variabel i samme område eller blok:
Eksempel
const x = 2; // Tilladt const x = 3; // Ikke tilladt x = 3; // Ikke tilladt var x = 3; // Ikke tilladt let x = 3; // Ikke tilladt { const x = 2; // Tilladt const x = 3; // Ikke tilladt x = 3; // Ikke tilladt var x = 3; // Ikke tilladt let x = 3; // Ikke tilladt }
omdøbes i en anden kontekst eller blok const
Er tilladt:
Eksempel
const x = 2; // Tilladt { const x = 3; // Tilladt } { const x = 4; // Tilladt }
Hævning
Gennem var
Definerede variabler bliveHævningtil toppen. Hvis du ikke er bekendt med begrebet hævning (Hoisting), så læs kapitlet om hævning.
Du kan bruge var variabler, før de er deklarerede:
Eksempel
carName = "Volvo"; // Du kan bruge carName her var carName;
Gennem const
Definerede variabler bliver ikke hævet til toppen.
const
Variabler kan ikke bruges før de er deklarerede:
Eksempel
carName = "Volvo"; // Du kan ikke bruge carName her const carName = "Volvo";
- Forrige side JS Let
- Næste side JS operatorer