Const do Array do JavaScript

ECMAScript 2015 (ES6)

Em 2015, o JavaScript introduziu uma nova palavra-chave importante:const.

Usando const Declaração de array se tornou uma prática comum:

Exemplo

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

Experimente você mesmo

Não pode ser reatribuído

Usando const Arrays declarados não podem ser reatribuídos:

Exemplo

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

Experimente você mesmo

O array não é constante

Palavra-chave const Pode ser enganador.

Não define arrays de constantes. Define uma referência constante para o array.

Portanto, ainda podemos alterar os elementos de arrays de constantes.

Os elementos podem ser reatribuídos

Você pode alterar elementos de arrays de constantes:

Exemplo

// Você pode criar arrays de constantes:
const cars = ["Saab", "Volvo", "BMW"];
// Você pode alterar elementos:
cars[0] = "Toyota";
// Você pode adicionar elementos:
cars.push("Audi");

Experimente você mesmo

Suporte do navegador

O Internet Explorer 10 ou versões anteriores não suportam const Palavra-chave。

A tabela a seguir indica a primeira versão do navegador que suporta completamente a palavra-chave const:

Chrome IE Firefox Safari Opera
Chrome 49 IE 11 / Edge Firefox 36 Safari 10 Opera 36
Março de 2016 Outubro de 2013 Fevereiro de 2015 Setembro de 2016 Março de 2016

Atribuição na declaração

JavaScript const Atribuição na declaração

Isso significa que a variável deve ser atribuída no momento da declaração: const A array declarada deve ser inicializada no momento da declaração.

Usando const E não inicializar a array é um erro de sintaxe:

Exemplo

Não funciona:

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

Usando var A array declarada pode ser inicializada a qualquer momento.

Você pode usar a array antes da declaração:

Exemplo

Sem problemas:

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

Experimente você mesmo

Escopo de bloco const

Usando const A array declarada temEscopo de bloco.

A array declarada dentro de um bloco é diferente da declarada fora do bloco:

Exemplo

const cars = ["Saab", "Volvo", "BMW"];
// Aqui cars[0] é "Saab"
{
  const cars = ["Toyota", "Volvo", "BMW"];
  // Aqui cars[0] é "Toyota"
}
// Aqui cars[0] é "Saab"

Experimente você mesmo

Usando var A array declarada não tem escopo de bloco:

Exemplo

var cars = ["Saab", "Volvo", "BMW"];
// Aqui cars[0] é "Saab"
{
  var cars = ["Toyota", "Volvo", "BMW"];
  // Aqui cars[0] é "Toyota"
}
// Aqui cars[0] é "Toyota"

Experimente você mesmo

Você pode aprender mais sobre o escopo de bloco nas seguintes seções:Escopo do JavaScript.

redeclarar uma array

Você pode usar em qualquer lugar do programa var Redeclarar o array:

Exemplo

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

Não é permitido redeclarar ou reatribuir uma array existente no mesmo escopo ou bloco para const

Exemplo

var cars = ["Volvo", "BMW"];         // Permitido
const cars = ["Volvo", "BMW"];       // Não permitido
{
  var cars = ["Volvo", "BMW"];         // Permitido
  const cars = ["Volvo", "BMW"];       // Não permitido
}

Não é permitido redeclarar ou reatribuir uma array existente no mesmo escopo ou bloco const Array:

Exemplo

const cars = ["Volvo", "BMW"];       // Permitido
const cars = ["Volvo", "BMW"];       // Não permitido
var cars = ["Volvo", "BMW"];         // Não permitido
cars = ["Volvo", "BMW"];             // Não permitido
{
  const cars = ["Volvo", "BMW"];     // Permitido
  const cars = ["Volvo", "BMW"];     // Não permitido
  var cars = ["Volvo", "BMW"];       // Não permitido
  cars = ["Volvo", "BMW"];           // Não permitido
}

Permitido usar em outro escopo ou bloco const Redeclarar o array:

Exemplo

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

Manual de Referência Completo de Array

Para referência completa, acesse nossa referência completa Manual de Referência Array JavaScript.

Este manual contém descrições e exemplos de todas as propriedades e métodos do Array.