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

186
Vistas
¿Por qué no cambia la indicación de `esto`?
let o = { a: 123, b: function () { console.log(this, this.a); }, }; (ob)()

Al igual que este código, tengo entendido que el código es así:

 const b = ob b() // this is pointing to window

Pero para (ob)() , this palabra clave apunta al objeto o, ¿por qué?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Poner paréntesis alrededor de una referencia de objeto a una función solo cambiará el this del objeto si hay algo más dentro de los paréntesis que hace que el intérprete primero resuelva el valor dentro de los paréntesis a otra cosa primero (por ejemplo, si usa cualquiera de los operadores , o invocar una función dentro de los paréntesis).

 let o = { a: 123, b: function () { console.log(this === window); }, }; // Using comma operator now (0, ob)()

Pero si todo lo que tiene es una referencia de método simple en un objeto, sin nada más dentro de los paréntesis, el contexto de llamada no cambia; los paréntesis adicionales alrededor de la referencia no lo cambian.

about 4 years ago · Santiago Trujillo Denunciar
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