Const trong mảng JavaScript

ECMAScript 2015 (ES6)

Năm 2015, JavaScript đã引入 một từ khóa mới quan trọng:const.

sử dụng const Việc khai báo mảng đã trở thành một thực hành phổ biến:

Ví dụ

const cars = ["Saab", "Volvo", "BMW"];

thử ngay

Không thể gán lại

sử dụng const Mảng được khai báo không thể được gán lại:

Ví dụ

const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"];    // ERROR

thử ngay

Mảng không phải là hằng số

Từ khóa const Có tính误导.

Nó không định nghĩa mảng hằng số. Nó định nghĩa là tham chiếu hằng số đến mảng.

Vậy, chúng ta vẫn có thể thay đổi phần tử của mảng hằng số.

Phần tử có thể được gán lại

Bạn có thể thay đổi phần tử của mảng hằng số:

Ví dụ

// Bạn có thể tạo mảng hằng số:
const cars = ["Saab", "Volvo", "BMW"];
// Bạn có thể thay đổi phần tử:
cars[0] = "Toyota";
// Bạn có thể thêm phần tử:
cars.push("Audi");

thử ngay

Trình duyệt hỗ trợ

Internet Explorer 10 hoặc các phiên bản trước không hỗ trợ const từ khóa.

Bảng dưới đây liệt kê phiên bản đầu tiên của trình duyệt hỗ trợ hoàn toàn từ khóa const:

Chrome IE Firefox Safari Opera
Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
tháng 3 năm 2016 tháng 10 năm 2013 tháng 2 năm 2015 tháng 9 năm 2016 tháng 3 năm 2016

gán giá trị khi khai báo

JavaScript const biến phải được gán giá trị khi khai báo:

ý nghĩa là: sử dụng const mảng được khai báo phải được khởi tạo khi khai báo.

sử dụng const và không khởi tạo mảng là một lỗi ngữ pháp:

Ví dụ

không có tác dụng:

const cars;
cars = ["Saab", "Volvo", "BMW"];

sử dụng var mảng được khai báo 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 này trước khi khai báo:

Ví dụ

không có vấn đề:

cars = ["Saab", "Volvo", "BMW"];
var cars;

thử ngay

phạm vi khối const

sử dụng const mảng được khai báo cóphạm vi khối.

mảng được khai báo trong khối khác với mảng được khai báo ngoài khối:

Ví dụ

const cars = ["Saab", "Volvo", "BMW"];
// Đây là cars[0] là "Saab"
{
  const cars = ["Toyota", "Volvo", "BMW"];
  // Đây là cars[0] là "Toyota"
}
// Đây là cars[0] là "Saab"

thử ngay

sử dụng var mảng được khai báo không có phạm vi khối:

Ví dụ

var cars = ["Saab", "Volvo", "BMW"];
// Đây là cars[0] là "Saab"
{
  var cars = ["Toyota", "Volvo", "BMW"];
  // Đây là cars[0] là "Toyota"
}
// Đây là cars[0] là "Toyota"

thử ngay

Bạn có thể học thêm về phạm vi khối trong các chương mục sau:Phạm vi trong JavaScript.

tái khai báo mảng

được phép sử dụng lại khai báo mảng ở bất kỳ vị trí nào trong chương trình var Tái khai báo mảng:

Ví dụ

var cars = ["Volvo", "BMW"];   // Được phép
var cars = ["Toyota", "BMW"];  // Được phép
cars = ["Volvo", "Saab"];      // Được phép

không được phép tái khai báo hoặc tái gán lại mảng trong cùng phạm vi hoặc cùng khối cho const:

Ví dụ

var cars = ["Volvo", "BMW"];         // Được phép
const cars = ["Volvo", "BMW"];       // Không được phép
{
  var cars = ["Volvo", "BMW"];         // Được phép
  const cars = ["Volvo", "BMW"];       // Không được phép
}

không được phép tái khai báo hoặc tái gán lại giá trị của mảng hiện có trong cùng phạm vi hoặc cùng khối. const mảng:

Ví dụ

const cars = ["Volvo", "BMW"];       // Cho phép
const cars = ["Volvo", "BMW"];       // Không được phép
var cars = ["Volvo", "BMW"];         // Không cho phép
cars = ["Volvo", "BMW"];             // Không cho phép
{
  const cars = ["Volvo", "BMW"];     // Cho phép
  const cars = ["Volvo", "BMW"];     // Không cho phép
  var cars = ["Volvo", "BMW"];       // Không cho phép
  cars = ["Volvo", "BMW"];           // Không cho phép
}

Cho phép sử dụng trong phạm vi hoặc khối khác const Tái khai báo mảng:

Ví dụ

const cars = ["Volvo", "BMW"];       // Cho phép
{
  const cars = ["Volvo", "BMW"];     // Cho phép
}
{
  const cars = ["Volvo", "BMW"];     // Cho phép
}

Tài liệu tham khảo đầy đủ về mảng

Để có tài liệu tham khảo đầy đủ, hãy truy cập trang Tài liệu tham khảo Array JavaScript.

Tài liệu này bao gồm mô tả và ví dụ về tất cả các thuộc tính và phương thức của mảng.