Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

159
Vistas
¿Cómo funciona la palabra clave "esto" en estos casos particulares?

Supongamos que tenemos el siguiente objeto Javascript:

 const myObj2 = { name: "my object", thisOne: this, print1: function() { console.log("(1)", this.thisOne); console.log("(2)", this); const innerFuncDecl = function() { console.log("(3)", this); }; const innerFuncArrow = () => { console.log("(4)", this); }; innerFuncDecl(); innerFuncArrow(); (function(){ console.log("(5)", this); })(); (() => { console.log("(6)", this); })(); }, print2: () => { console.log("(7)", this); }, print3: function(){ console.log("(8)", this); }, };

Si llamo a print1, print2 e print3 desde mi navegador tengo:

ingrese la descripción de la imagen aquí

Preguntas:

  • ¿Por qué (1) "esto" apunta a "Ventana" y no a "myObj2"?
  • ¿Por qué (2) y (8) "esto" apunta a "myObj2", mientras que (7) "esto" apunta a "Ventana"?
  • ¿Por qué (3) "esto" apunta a "Ventana"? ¿Es porque es una declaración de función, y las declaraciones de función siempre se elevan al contexto global? ¿Lo mismo para (5)?
  • ¿Por qué (4) "esto" apunta a "myObj2"? ¿Es porque es una expresión de función, y la expresión de función nunca se eleva y mantiene el contexto de la función que la encierra? Lo mismo para (6)
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda