Javascript Array Const
ECMAScript 2015 (ES6)
vào năm 2015, JavaScript đã giới thiệu một từ khóa mới quan trọng const
:.
Việc khai báo mảng bằng cách sử dụng const
:
Thí dụ
const cars = ["Saab", "Volvo", "BMW"];
Không thể được giao lại
const
Không thể gán lại một mảng được khai báo với :
Thí dụ
const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"]; // ERROR
Mảng không phải là hằng số
Từ khóa const
là một chút sai lầm.
Nó KHÔNG xác định một mảng hằng số. Nó định nghĩa một tham chiếu không đổi đến một mảng.
Do đó, chúng ta vẫn có thể thay đổi các phần tử của một mảng không đổi.
Các phần tử có thể được chỉ định lại
Bạn có thể thay đổi các phần tử của một mảng không đổi:
Thí dụ
// 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");
Hỗ trợ trình duyệt
Từ const
khóa không được hỗ trợ trong Internet Explorer 10 trở xuống.
Bảng sau xác định các phiên bản trình duyệt đầu tiên có hỗ trợ đầy đủ cho const
từ khóa:
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
Mar, 2016 | Oct, 2013 | Feb, 2015 | Sep, 2016 | Mar, 2016 |
Được chỉ định khi được khai báo
Các biến JavaScript const
phải được gán một giá trị khi chúng được khai báo:
Ý nghĩa: Mảng được khai báo với const
phải được khởi tạo khi nó được khai báo.
Sử dụng const
mà không khởi tạo mảng là lỗi cú pháp:
Thí dụ
Điều này sẽ không hoạt động:
const cars;
cars = ["Saab", "Volvo", "BMW"];
Mảng được khai báo với var
có thể được khởi tạo bất kỳ lúc nào.
Bạn thậm chí có thể sử dụng mảng trước khi nó được khai báo:
Thí dụ
Điều này là OK:
cars = ["Saab", "Volvo", "BMW"];
var cars;
Phạm vi khối Const
Một mảng được khai báo với const
có Phạm vi khối .
Một mảng được khai báo trong một khối không giống với một mảng được khai báo bên ngoài khối:
Thí dụ
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"
Một mảng được khai báo với var
không có phạm vi khối:
Thí dụ
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"
Bạn có thể tìm hiểu thêm về Phạm vi khối trong chương: Phạm vi JavaScript .
Khai báo lại Mảng
Khai báo lại một mảng được khai báo với var
được cho phép ở bất kỳ đâu trong chương trình:
Thí dụ
var cars = ["Volvo", "BMW"]; // Allowed
var cars = ["Toyota", "BMW"]; // Allowed
cars = ["Volvo", "Saab"]; // Allowed
Khai báo lại hoặc gán lại một mảng const
, trong cùng phạm vi hoặc trong cùng một khối, không được phép:
Thí dụ
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
{
var cars = ["Volvo", "BMW"]; // Allowed
const cars = ["Volvo", "BMW"]; // Not allowed
}
Không được phép khai báo lại hoặc chỉ định lại một const
mảng hiện có, trong cùng phạm vi hoặc trong cùng một khối:
Thí dụ
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
}
Khai báo lại một mảng với const
, trong một phạm vi khác hoặc trong một khối khác, được phép:
Thí dụ
const cars = ["Volvo", "BMW"]; // Allowed
{
const cars = ["Volvo", "BMW"]; // Allowed
}
{
const cars = ["Volvo", "BMW"]; // Allowed
}
Tham chiếu mảng hoàn chỉnh
Để tham khảo đầy đủ về Mảng, hãy truy cập:
Toàn bộ tham chiếu mảng JavaScript .
Tham chiếu chứa các mô tả và ví dụ về tất cả các thuộc tính và phương thức của Mảng.