Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferença de lista.

gostaria de saber qual a diferença da lista utilizada na aula com esse outra lista:

`let listaDeDestinos = ["São Paulo", "Salvador", "Rio De Janeiro"];`
1 resposta
solução!

A diferença entre criar um array com o array implícito e o construtor do array é sutil, mas importante.

Quando você cria um array usando

var a = [];

Você está dizendo ao interpretador para criar uma nova matriz de tempo de execução. Nenhum processamento extra é necessário. Feito.

Se você usar:

var a = new Array();

Você está dizendo ao interpretador, eu quero chamar o construtor " Array" e gerar um objeto. Em seguida, ele procura por seu contexto de execução para encontrar o construtor a ser chamado e o chama, criando sua matriz.

Por exemplo:

function Array() {
    this.is = 'SPARTA';
}

var a = new Array();
var b = [];

alert(a.is);  // => 'SPARTA'
alert(b.is);  // => undefined
a.push('Woa'); // => TypeError: a.push is not a function
b.push('Woa'); // => 1 (OK)

No exemplo acima, o primeiro alert exibirá 'SPARTA' como seria de esperar. A segunda não. Você vai acabar vendo undefined. Você também notará que b contém todas as funções nativas do objeto Array, como push, onde o outro não contém.

Embora você possa esperar que isso aconteça, isso apenas ilustra o fato de que [] não é o mesmo que new Array().

Provavelmente é melhor usar apenas [] se você quiser apenas uma matriz.