Cursos / Informática para Internet / Desenvolvimento Front-end II / Aula
Objetos são passados como referência. Isso quer dizer que quando passamos um objeto como argumento de uma função, o computador interpreta esse parâmetro como um apontamento para o espaço em memória em que aquele objeto está armazenado. O impacto disso é que funções que mudam as propriedades de um objeto realmente alteram o objeto permanentemente. Veja um exemplo para entender melhor esse conceito:
let naveEspacial = {
tripulacao: 5,
'Missão Ativa': true,
trajeto: ['Vênus', 'Marte', 'Saturno']
}
function desativarMissao(obj) {
obj['Missão Ativa'] = false;
}
let adicionarJupiterNoTrajeto = (obj) => {
obj.trajeto.push('Júpiter');
}
desativarMissao(naveEspacial);
adicionarJupiterNoTrajeto(naveEspacial);
console.log(naveEspacial); // { tripulacao: 5, 'Missão Ativa': false, trajeto: [ 'Vênus', 'Marte', 'Saturno', 'Júpiter' ] }
Versão 5.3 - Todos os Direitos reservados