Eu estava olhando a resolução do exercicio aqui no forum e me apareceu outra duvida, então a unica coisa que pega a referencia da lista é se for passada para uma variavel de parametro de uma função? então se eu declarar uma variavel e colocar que é igual a variavel da lista ela vai copiar os valores e não a referencia?
let lista1 = [1, 1, 1, 1]
let lista2 = lista1
Nesse exemplo, o que estaria na lista2 é apenas o valor e não a referencia da lista1 certo? Mas o que esta armazena na lista2 é uma lista igual mas com referencia na memoria diferente da lista1 ou é apenas um valor? Não sei se conseguir explicar direito minha duvida.