JavaScript -konst
Die const
sleutelwoord is in
ES6 (2015) bekendgestel .
Veranderlikes gedefinieer met const
kan nie Herverklaar word nie.
Veranderlikes gedefinieer met const
kan nie hertoegewys word nie.
Veranderlikes gedefinieer met const
het Blok Omvang.
Kan nie hertoegewys word nie
'n const
Veranderlike kan nie hertoegewys word nie:
Voorbeeld
const PI = 3.141592653589793;
PI = 3.14; // This will give an error
PI = PI + 10; // This will also give an error
Moet toegewys word
JavaScript const
-veranderlikes moet 'n waarde toegeken word wanneer hulle verklaar word:
Korrek
const PI = 3.14159265359;
Verkeerd
const PI;
PI = 3.14159265359;
Wanneer om JavaScript const te gebruik?
As 'n algemene reël, verklaar altyd 'n veranderlike met const
tensy jy weet dat die waarde sal verander.
Gebruik const
wanneer jy verklaar:
- 'n Nuwe Array
- 'n Nuwe Voorwerp
- 'n Nuwe funksie
- 'n Nuwe RegExp
Konstante voorwerpe en skikkings
Die sleutelwoord const
is 'n bietjie misleidend.
Dit definieer nie 'n konstante waarde nie. Dit definieer 'n konstante verwysing na 'n waarde.
As gevolg hiervan kan jy NIE:
- Herken 'n konstante waarde toe
- Herken 'n konstante skikking
- Herken 'n konstante voorwerp toe
- Verander die elemente van konstante skikking
- Verander die eienskappe van konstante voorwerp
Maar jy KAN:
Konstante Skikkings
Jy kan die elemente van 'n konstante skikking verander:
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 jy kan NIE die skikking hertoewys nie:
Voorbeeld
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
Konstante voorwerpe
Jy kan die eienskappe van 'n konstante voorwerp verander:
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 jy kan NIE die voorwerp hertoewys nie:
Voorbeeld
const car = {type:"Fiat", model:"500", color:"white"};
car = {type:"Volvo", model:"EX60", color:"red"}; //
ERROR
Blaaierondersteuning
Die const
sleutelwoord word nie in Internet Explorer 10 of vroeër ondersteun nie.
Die volgende tabel definieer die eerste blaaierweergawes met volle ondersteuning vir die const
sleutelwoord:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Blok Omvang
Om 'n veranderlike met te verklaar, const
is soortgelyk aan let
wanneer dit kom by Block Scope .
Die x wat in die blok verklaar word, in hierdie voorbeeld, is nie dieselfde as die x wat buite die blok verklaar is nie:
Voorbeeld
const x = 10;
// Here x is 10
{
const x = 2;
// Here x is 2
}
// Here x is 10
Jy kan meer leer oor blokomvang in die hoofstuk JavaScript-omvang .
Herverklaar
Die herverklaring van 'n JavaScript- var
veranderlike word oral in 'n program toegelaat:
Voorbeeld
var x = 2; // Allowed
var x = 3; // Allowed
x = 4; // Allowed
Om 'n bestaande var
of let
veranderlike te herverklaar na const
, in dieselfde omvang, word nie toegelaat nie:
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
}
Die hertoewysing van 'n bestaande const
veranderlike, in dieselfde omvang, word nie toegelaat nie:
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
}
Herverklaring van 'n veranderlike met const
, in 'n ander omvang, of in 'n ander blok, word toegelaat:
Voorbeeld
const x = 2; // Allowed
{
const x = 3; // Allowed
}
{
const x = 4; // Allowed
}
Konst Hysing
Veranderlikes wat met gedefinieer word, var
word na bo gehys en kan enige tyd geïnisialiseer word.
Betekenis: Jy kan die veranderlike gebruik voordat dit verklaar word:
Voorbeeld
Dit is OK:
carName = "Volvo";
var carName;
As jy meer wil leer oor hyswerk, bestudeer die hoofstuk JavaScript -hys .
Veranderlikes wat met gedefinieer word, const
word ook na bo gehys, maar nie geïnisialiseer nie.
Betekenis: Die gebruik van 'n const
veranderlike voordat dit verklaar word, sal lei tot 'n
ReferenceError
:
Voorbeeld
alert (carName);
const carName = "Volvo";