Const Array JavaScript

ECMAScript 2015 (ES6)

Tahun 2015, JavaScript memperkenalkan kata kunci baru yang penting:const

使用 const Mendeklarasikan array telah menjadi praktek yang biasa:

实例

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

亲自试一试

Tidak dapat di-reassign

const Array yang dideklarasikan tidak dapat di-reassign:

实例

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

亲自试一试

Array bukan konstanta

Kata kunci const Memiliki kesan mengecam.

Ia tidak mendefinisikan array konstanta. Ia mendefinisikan referensi konstanta ke array.

Jadi, kami masih boleh mengubah elemen array konstanta.

Elemen boleh di-reassign

Anda boleh mengubah elemen array konstanta:

实例

// Anda boleh membuat array konstanta:
const kereta = ["Saab", "Volvo", "BMW"];
// Anda boleh mengubah elemen:
cars[0] = "Toyota";
// Anda boleh menambahkan elemen:
cars.push("Audi");

亲自试一试

Pemilik pelayar

Internet Explorer 10 或更早的版本不支持 const 关键字。

下表注明了完全支持 const 关键字的首个浏览器版本:

Chrome IE Firefox Safari Opera
Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
2016 年 3 月 2013 年 10 月 2015 年 2 月 2016 年 9 月 2016 年 3 月

声明时赋值

JavaScript const 变量在声明时必须赋值:

意思是:用 const 声明的数组必须在声明时进行初始化。

使用 const 而不初始化数组是一个语法错误:

实例

不起作用:

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

var 声明的数组可以随时初始化。

您甚至可以在声明之前使用该数组:

实例

没问题:

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

亲自试一试

const 块作用域

const 声明的数组具有块作用域

在块中声明的数组与在块外声明的数组不同:

实例

const kereta = ["Saab", "Volvo", "BMW"];
// 此处 kereta[0] 为 "Saab"
{
  const kereta = ["Toyota", "Volvo", "BMW"];
  // 此处 kereta[0] 为 "Toyota"
}
// 此处 kereta[0] 为 "Saab"

亲自试一试

var 声明的数组没有块作用域:

实例

var kereta = ["Saab", "Volvo", "BMW"];
// 此处 kereta[0] 为 "Saab"
{
  var kereta = ["Toyota", "Volvo", "BMW"];
  // 此处 kereta[0] 为 "Toyota"
}
// 此处 kereta[0] 为 "Toyota"

亲自试一试

您可以在以下章节中学习更多关于块作用域的内容:Domain JavaScript

重新声明数组

在程序中的任何位置都允许用 var 重新声明数组:

实例

var kereta = ["Volvo", "BMW"];   // 允许
var kereta = ["Toyota", "BMW"];  // 允许
kereta = ["Volvo", "Saab"];      // 允许

不允许在同一作用域或同一块中将数组重新声明或重新赋值给 const

实例

var kereta = ["Volvo", "BMW"];         // 允许
const kereta = ["Volvo", "BMW"];       // 不允许
{
  var kereta = ["Volvo", "BMW"];         // 允许
  const kereta = ["Volvo", "BMW"];       // 不允许
}

不允许在同一作用域或同一块中重新声明或重新赋值现有的 const 数组:

实例

const cars = ["Volvo", "BMW"];       // 允许
const kereta = ["Volvo", "BMW"];       // 不允许
var cars = ["Volvo", "BMW"];         // 不允许
cars = ["Volvo", "BMW"];             // 不允许
{
  const cars = ["Volvo", "BMW"];     // 允许
  const cars = ["Volvo", "BMW"];     // 不允许
  var cars = ["Volvo", "BMW"];       // 不允许
  cars = ["Volvo", "BMW"];           // 不允许
}

允许在另一个作用域或另一个块中使用 const 重新声明数组:

实例

const cars = ["Volvo", "BMW"];       // 允许
{
  const cars = ["Volvo", "BMW"];     // 允许
}
{
  const cars = ["Volvo", "BMW"];     // 允许
}

完整的数组参考手册

如需完整参考,请访问我们的完整 JavaScript 数组参考手册

该手册包含所有数组属性和方法的描述和实例。