Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
Método JS Class: intercambio de valores entre instancias

Al aprender sobre las clases, noté un fenómeno interesante, ¿puede explicar cómo sucede? En la clase Infectados declaré una función infectar (alguien) . En mi ejemplo de mary.infect(john) , aunque entiendo que Mary se infecta (mary es el objeto en el que estoy llamando a la función, mary es el objeto en el que estoy trabajando actualmente, cambiando el valor de la propiedad de mary), no No entiendo cómo John también se infecta con Mary (john sirve simplemente como un argumento en la llamada de función actual).

En otras palabras: mary.infect(john) - Estoy llamando a esta función 'desde' el objeto mary (mary es 'este' objeto) , entonces, ¿qué tipo de magia sucede aquí que puedo cambiar el valor de las enfermedades de John? ¿también?

Mi pensamiento fue: si uso a john como un mero parámetro (argumento) en una llamada de función a mary, todo lo que puedo hacer es extraer ciertos valores de john (como sus enfermedades), pero no esperaba poder hacerlo al mismo tiempo. acceda a john y cambie los valores de john. Simplemente me pareció un poco contrario a la intuición.

Es genial que podamos intercambiar valores entre dos objetos así. Pero no entiendo cómo funciona.

 class Infected { constructor(name, diseases) { this.name = name; this.diseases = diseases; } infect(somebody) { const thisDiseases = this.diseases; this.diseases = this.diseases.concat(somebody.diseases); somebody.diseases = somebody.diseases.concat(thisDiseases); } } const mary = new Infected('Mary', ['herpes', 'hepatitis']); const john = new Infected('John', ['flu', 'syphilis']); mary.infect(john); mary.diseases -> ['herpes', 'hepatitis', 'flu', 'syphilis'] john.diseases -> ['flu', 'syphilis', 'herpes', 'hepatitis']
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda