Contexto de ejecución

1. this Contexto:this

En JavaScript, this no se refiere al objeto resultante de la instancia únicamente, sino que en realidad se refiere al objeto que se está utilizando. Esto significa que el intérprete de JavaScript evalúa this cuando llama a un método; este es un argumento adicional que se agrega automáticamente.

En otras palabras, cuando se referencia a this, nunca se está seguro de que se aplicará a su instancia. Esta característica es bastante confusa para un desarrollador de objetos "clásico", pero en realidad ofrece un gran poder, como veremos.

Ejemplo

function Persona( apellido, nombre ) { 
  this.apellido = apellido; 
  this.nombre = nombre; 
  this.hola = function() { 
      alert( "hola " + this.apellido ); 
    }; 
} 
 
function Perro( nombre ) { 
  this.nombre = nombre; 
} 
 
var p = new Persona( "brillant", "alexandre" ); 
var c = new Perro( "tobby" ); 
c.hola = p.hola; 
c.hola(); 

En el ejemplo, tenemos dos clases: Persona y Perro. Estas clases no tienen ninguna relación básica entre sí. Asociamos a la clase Perro el método hola de la clase Persona, después ejecutamos este método a través de una instancia. Recibimos el mensaje "hola tobby".

this representa la instancia en la que se realiza...

Si desea saber más, le proponemos el siguiente libro:
couv_EIT3JAV.png
60-signet.svg
Versión impresa
20-ecran_lettre.svg
Versión online
41-logo_abonnement.svg
En ilimitado con la suscripción ENI
130-boutique.svg
En la tienda oficial de ENI
Anterior
Primer enfoque
Siguiente
Clases predefinidas