Qual é a diferença entre Array () e [] em JavaScript e por que eu iria usar um sobre o outro? [duplicado]
-
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?
Solução
new Array(2)
proudces uma matriz de tamanho 2 , contendo dois undefined
s. [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 qualquerX
enquantotypeof(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 ();