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

172
Visualizações
esta flecha interior funciona en JavaScript

Tengo esta siguiente clase...

 class Person { constructor(name, age) { this.name = name; this.age = age; } getName() { return this.name; } getAge = () => this.age; };

Sé que cuando los métodos de clase u objeto se pasan a otros lugares, pierden this . Entonces, cuando asigno el método p1.getName a otra variable global printName , el valor de this printName interno no estará undefined y me dará un error debido a this.name . (Consulte el ejemplo a continuación) Esto sucede porque se cambia el contexto. ¿Es correcto mi entendimiento?

 let p1 = new Person('John', 20); let printName = p1.getName; console.log(printName()); // Cannot read properties of undefined (reading 'name')

Entonces, ¿qué pasa con el que tiene función de flecha? En la clase Person , getAge es un campo de clase que tiene una expresión de función de flecha. Cuando paso p1.getAge a otro lugar, this hace referencia al objeto correcto.

 let printAge = p1.getAge; console.log(printAge()); // 20

Cuando paso el método p1.getAge a la variable global llamada printAge , el contexto cambia. ¿Tengo razón? También sé el hecho de que las funciones de flecha capturan this desde su ámbito léxico externo. Según tengo entendido, this no debería ser un objeto p1 .

Sé cómo enlazar métodos de objetos. Pero solo quiero saber por qué this función de flecha interior todavía se refiere al objeto correcto. ¿Qué me estoy perdiendo? ¿O mis entendimientos ya están equivocados?

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