Const w JavaScript
- Poprzednia strona JS Let
- Następna strona Operatorzy JS
ECMAScript 2015
ES2015 wprowadziło dwa ważne nowe słowa kluczowe w JavaScript:let
i const
.
Przez const
zdefiniowanej let
Zmienna zdefiniowana jest podobna do
Przykład
const PI = 3.141592653589793; PI = 3.14; // Będzie to błąd PI = PI + 10; // Będzie to błąd
obszaru blokowego
wobszaru blokowegowewnątrz const
Deklarowana zmienna jest podobna do let
Zmiennymi podobnymi.
W tym przykładzie, x jest deklarowany w bloku, co różni się od x deklarowanego poza blokiem:
Przykład
var x = 10; // Tutaj, x wynosi 10 { const x = 6; // Tutaj, x wynosi 6 } // Tutaj, x wynosi 10
W poprzednim rozdziale Let w JavaScript W szkole średniej dowiesz się więcej o obszarze blokowym.
w momencie deklaracji
JavaScript const
Zmienna musi być przypisana w momencie deklaracji:
Niepoprawnie
const PI; PI = 3.14159265359;
Poprawnie
const PI = 3.14159265359;
Nie jest prawdziwą stałą
Kluczowe słowo const
Ma pewien pułapkę.
Nie definiuje wartości stałej. Definiuje stałą referencję do wartości.
Dlatego nie możemy zmienić wartości podstawowej stałego, ale możemy zmienić właściwości obiektu stałego.
Wartość podstawowa
Jeśli przypiszemy wartość podstawową do stałego, nie możemy zmienić wartości podstawowej:
Przykład
const PI = 3.141592653589793; PI = 3.14; // Będzie to błąd PI = PI + 10; // Będzie to błąd
Obiekt stały może być zmieniony
Możesz zmienić właściwości obiektu stałego:
Przykład
// Możesz utworzyć obiekt const: const car = {type:"porsche", model:"911", color:"Black"}; // Możesz zmienić właściwości: car.color = "White"; // Możesz dodać atrybuty: car.owner = "Bill";
Ale nie możesz ponownie przypisać wartości do stałego obiektu:
Przykład
const car = {type:"porsche", model:"911", color:"Black"}; car = {type:"Volvo", model:"XC60", color:"White"}; // BŁĄD
Stale tablice mogą być zmieniane
Możesz zmienić elementy stałej tablicy:
Przykład
// Możesz utworzyć stałą tablicę: const cars = ["Audi", "BMW", "porsche"]; // Możesz zmienić elementy: cars[0] = "Honda"; // Możesz dodać elementy: cars.push("Volvo");
Ale nie możesz ponownie przypisać wartości do stałej tablicy:
Przykład
const cars = ["Audi", "BMW", "porsche"]; cars = ["Honda", "Toyota", "Volvo"]; // BŁĄD
obsługa przeglądarek
Internet Explorer 10 i wcześniejsze wersje nie obsługują const
słowo kluczowe.
Poniższa tabela definiuje wersje przeglądarek, które w pełni obsługuje kluczowe słowo const:
Chrome 49 | IE / Edge 11 | Firefox 36 | Safari 10 | Opera 36 |
marzec 2016 roku | październik 2013 roku | luty 2015 roku | wrzesień 2016 roku | marzec 2016 roku |
ponowne deklarowanie
W każdym miejscu programu dozwolone jest ponowne deklarowanie JavaScript var
zmienne:
Przykład
var x = 2; // Dozwolone var x = 3; // Dozwolone x = 4; // Dozwolone
W jednym obszarze lub bloku nie dozwolone jest ponowne deklarowanie istniejącej zmiennej: var
lub let
ponowne deklarowanie lub przypisanie istniejącej zmiennej const
:
Przykład
var x = 2; // Dozwolone const x = 2; // Nie dozwolone { let x = 2; // Dozwolone const x = 2; // Nie dozwolone }
W jednym obszarze lub bloku nie dozwolone jest ponowne deklarowanie lub przypisanie istniejącej zmiennej const:
Przykład
const x = 2; // Dozwolone const x = 3; // Nie dozwolone x = 3; // Nie dozwolone var x = 3; // Nie dozwolone let x = 3; // Nie dozwolone { const x = 2; // Dozwolone const x = 3; // Nie dozwolone x = 3; // Nie dozwolone var x = 3; // Nie dozwolone let x = 3; // Nie dozwolone }
ponowne deklarowanie w innym zakresie lub bloku const
Jest dozwolone:
Przykład
const x = 2; // Dozwolone { const x = 3; // Dozwolone } { const x = 4; // Dozwolone }
Podnoszenie
Przez var
Zadeklarowane zmienne sąPodnoszeniedo góry. Jeśli nie wiesz, co to jest podnoszenie (Hoisting), przejdź do tego rozdziału.
Możesz używać zmiennej var przed jej deklaracją:
Przykład
carName = "Volvo"; // Możesz tutaj używać carName var carName;
Przez const
Zadeklarowane zmienne nie są podnoszone do góry.
const
Zmienne nie mogą być używane przed ich deklaracją:
Przykład
carName = "Volvo"; // Nie możesz tutaj używać carName const carName = "Volvo";
- Poprzednia strona JS Let
- Następna strona Operatorzy JS