Stała tablicy JavaScript
ECMAScript 2015 (ES6)
w 2015 roku JavaScript wprowadził ważne nowe słowo kluczowe: const
.
Powszechną praktyką stało się deklarowanie tablic przy użyciu const
:
Przykład
const cars = ["Saab", "Volvo", "BMW"];
Nie można ponownie przypisać
Tablicy zadeklarowanej za const
pomocą nie można ponownie przypisać:
Przykład
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
Tablice nie są stałymi
Słowo kluczowe const
jest trochę mylące.
NIE definiuje stałej tablicy. Definiuje stałe odwołanie do tablicy.
Z tego powodu nadal możemy zmieniać elementy tablicy stałej.
Elementy można ponownie przypisać
Możesz zmienić elementy tablicy stałej:
Przykład
// 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");
Obsługa przeglądarki
Słowo const
kluczowe nie jest obsługiwane w programie Internet Explorer 10 lub starszym.
Poniższa tabela przedstawia pierwsze wersje przeglądarek z pełną obsługą const
słowa kluczowego:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Przypisany, gdy zadeklarowany
Zmienne JavaScript const
muszą mieć przypisaną wartość, gdy są deklarowane:
Znaczenie: Tablice zadeklarowane za pomocą const
muszą być zainicjalizowane, gdy są deklarowane.
Użycie const
bez inicjowania tablicy jest błędem składni:
Przykład
To nie zadziała:
const cars;
cars = ["Saab", "Volvo", "BMW"];
Tablice zadeklarowane za pomocą var
można zainicjować w dowolnym momencie.
Możesz nawet użyć tablicy przed jej zadeklarowaniem:
Przykład
To jest wporządku:
cars = ["Saab", "Volvo", "BMW"];
var cars;
Stały zakres bloku
Tablica zadeklarowana z const
ma Block Scope .
Tablica zadeklarowana w bloku nie jest tym samym, co tablica zadeklarowana poza blokiem:
Przykład
const cars = ["Saab", "Volvo", "BMW"];
// Here cars[0] is "Saab"
{
const cars = ["Toyota", "Volvo", "BMW"];
// Here cars[0] is "Toyota"
}
// Here cars[0] is "Saab"
Tablica zadeklarowana za pomocą var
nie ma zasięgu blokowego:
Przykład
var cars = ["Saab", "Volvo", "BMW"];
// Here cars[0] is "Saab"
{
var cars = ["Toyota", "Volvo", "BMW"];
// Here cars[0] is "Toyota"
}
// Here cars[0] is "Toyota"
Więcej informacji na temat zakresu bloku można znaleźć w rozdziale: Zakres JavaScript .
Ponowne deklarowanie tablic
Ponowne zadeklarowanie tablicy zadeklarowanej za pomocą var
jest dozwolone w dowolnym miejscu programu:
Przykład
var cars = ["Volvo", "BMW"]; // Allowed
var cars = ["Toyota", "BMW"]; // Allowed
cars = ["Volvo", "Saab"]; // Allowed
Ponowne zadeklarowanie lub ponowne przypisanie tablicy do const
, w tym samym zakresie lub w tym samym bloku jest niedozwolone:
Przykład
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
{
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
}
Ponowne zadeklarowanie lub ponowne przypisanie istniejącej const
tablicy, w tym samym zakresie lub w tym samym bloku, jest niedozwolone:
Przykład
const cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
var cars = ["Volvo", "BMW"]; // Not allowed
cars = ["Volvo", "BMW"]; // Not allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
var cars = ["Volvo", "BMW"]; // Not allowed
cars = ["Volvo", "BMW"]; // Not allowed
}
Ponowne zadeklarowanie tablicy z const
, w innym zakresie lub w innym bloku jest dozwolone:
Przykład
const cars = ["Volvo", "BMW"]; // Allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
}
{
const cars = ["Volvo", "BMW"]; // Allowed
}
Pełne odniesienie do tablicy
Aby uzyskać pełne odniesienie do tablicy, przejdź do naszego:
Pełne odniesienie do tablicy JavaScript .
Odniesienie zawiera opisy i przykłady wszystkich właściwości i metod Array.