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

A respeito da classe Array

Ao programar defensivamente, em vez de devolvermos uma cópia do nosso array através do método concat(), poderíamos fazer isso usando o construtor da classe Array diretamente?

get negociacoes() {

        return [].concat(this._negociacoes);
}

// ou

get negociacoes() {

        return new Array(this._negociacoes);
}

Há alguma desvantagem em fazer isso dessa forma?

1 resposta
solução!

Oi, Aylon, tudo bem?

A ideia de oferecer uma cópia a quem queira ler a lista de array é para que a lista original se mantenham inalterada, assim, a protegendo. Mas caso deseje alterar os valores da lista, você precisará utilizar os métodos da classe, porque em operações de escrita apenas eles terão acesso ao array original, encapsulado pela classe.

Nesse caso, o constructor New Array tem exato mesmo valor que as colchetes vazios [], porém com a sintaxe mais reduzida.

Para saber mais: http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.1