Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

220
Views
La función de flecha de Javascript tiene un comportamiento extraño con la palabra clave "esta"

Esta función de flecha imprime la versión de cadena concatenada de la matriz correctamente:

 var tahoe = { resorts: ["Kirkwood","Squaw","Alpine","Heavenly","Northstar"], print: function(delay=1000) { setTimeout( () => console.log(this.resorts.join(",")), delay ) } } tahoe.print()

Si entiendo correctamente, si uso una función normal dentro de setTimeout , no funcionará, porque setTimeout requiere una función anidada que siempre se evalúa en el ámbito global, mientras que la matriz se define dentro del ámbito del objeto. Entonces se usa la función de flecha que funciona en el alcance del objeto.

Entonces, ¿cómo es que poner la función de print como función de flecha también invierte el problema nuevamente?

 var tahoe = { resorts: ["Kirkwood","Squaw","Alpine","Heavenly","Northstar"], print: (delay=1000) => { setTimeout(() => { console.log(this.resorts.join(",")) }, delay) } } tahoe.print()

esto no funciona El libro lo explica así:

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

¿Alguien puede explicar qué significa esto y por qué funciona así? ¿Cuál es la diferencia exacta entre los dos casos?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!