Qual é a diferença entre Array () e [] em JavaScript e por que eu iria usar um sobre o outro? [duplicado]

StackOverflow https://stackoverflow.com/questions/2203734

  •  18-09-2019
  •  | 
  •  

Pergunta

Duplicate possíveis:
Qual é a diferença entre “Array ()” e “[]” ao declarar uma matriz de JavaScript?

Em JavaScript você pode criar uma nova matriz como:

var arr = new Array();

ou como:

var arr2 = [];

Qual é a diferença e por que você faria um sobre o outro?

Foi útil?

Solução

new Array(2) proudces uma matriz de tamanho 2 , contendo dois undefineds. [2] produz uma matriz de tamanho 1 , contendo o número de 2 . new Array IMO não se encaixa com o espírito de JavaScript, mesmo que ele pode fazer construção leque muito mais fáceis de encontrar. Isso pode ou não pode ser de qualquer importância (eu uso literais quase exclusivamente em JavaScript para todos os tipos aplicáveis, e eu autoria / mantida grandes pedaços de JavaScript [30-50 KLOC] com sucesso).

editar Eu acho que as razões experientes javascript programadores sintaxe evitar new Array são:

  • não se comportam de maneira uniforme em toda números de argumento e tipos ((new Array(X)).length == 1 para qualquer X enquanto typeof(X) != "number"
  • é mais detalhado e a única coisa que ganho é a irregularidade

Outras dicas

Outro (menor) razão para usar [] de preferência a new Array() é que Array poderia ser substituído (embora eu nunca vi isso acontecer) e [] é garantido para trabalho.

Array = "something";
var a = new Array(); // Fails
var b = []; // Works

Eu acredito que eles são idênticos. Eu nunca uso new Array ();

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top