JavaScript 배열 Const

ECMAScript 2015 (ES6)

2015년, JavaScript는 중요한 새로운 키워드를 도입했습니다:const.

使用 const 배열 선언은 일반적인 관행이 되었습니다:

예제

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

亲自试一试

다시 할당할 수 없습니다

const 선언된 배열은 다시 할당할 수 없습니다:

예제

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

亲自试一试

배열은 상수가 아닙니다

키워드 const 일정한 유혹성이 있습니다.

상수 배열을 정의하지 않습니다. 정의하는 것은 배열에 대한 상수 참조입니다.

따라서, 우리는 여전히 상수 배열의 요소를 변경할 수 있습니다.

요소는 다시 할당할 수 있습니다

상수 배열의 요소를 변경할 수 있습니다:

예제

// 상수 배열을 생성할 수 있습니다:
const cars = ["Saab", "Volvo", "BMW"];
// 요소를 변경할 수 있습니다:
cars[0] = "Toyota";
// 요소를 추가할 수 있습니다:
cars.push("Audi");

亲自试一试

브라우저 지원

Internet Explorer 10 또는 이전 버전은 const 키워드를 지원하지 않습니다. 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 cars;
cars = ["Saab", "Volvo", "BMW"];

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

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

예제

没问题:

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

亲自试一试

const 块作用域

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

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

예제

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

亲自试一试

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

예제

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

亲自试一试

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

重新声明数组

在程序中的任何位置都允许用 var 배열 재선언:

예제

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

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

예제

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

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

예제

const cars = ["Volvo", "BMW"];       // 허용
const cars = ["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 배열 참조 가이드.

이 가이드는 모든 배열 속성 및 메서드의 설명과 예제를 포함하고 있습니다.