Ya, pero… ¿qué es el this en javascript? episodio 2

what the fuck is this?

Vimos en el episodio 1 que invocando a this en javascript en el contexto global nos devuelve el objeto window.

Ahora nos vamos a servir de la función

function imprimirThis(){
  console.log(this);
}

y la vamos a incluir en un objeto nuestro:

¿Qué es el this en javascript?
(descarga el código)

function imprimirThis () {
    console.log(this)
}
//creamos un objeto javascript
var objeto = {
    propiedadUno : “Valor propiedad uno”,
    propiedadDos : “Valor propiedad dos”,
    mostrarPropiedades : function (){
        console.log(“Propiedad uno = ” + this.propiedadUno + ” :::: Propiedad dos = ” + this.propiedadDos)
     },
    //asignamos la misma función que está en el contexto global
    imprimirThis: imprimirThis
}
objeto.mostrarPropiedades();
objeto.imprimirThis();
Resultado
Propiedad uno = Valor propiedad uno :::: Propiedad dos = Valor propiedad dos
Object {propiedadUno“Valor propiedad uno”propiedadDos“Valor propiedad dos”mostrarPropiedadesfunctionimprimirThisfunction}
  1. imprimirThisfunction imprimirThis() {
  2. mostrarPropiedadesfunction (){
  3. propiedadDos“Valor propiedad dos”
  4. propiedadUno“Valor propiedad uno”
  5. __proto__Object

Vemos que desde dentro de objeto this es el mismo objeto. Lo demuestran las sentencias:

this.propiedadUno
this.propiedadDos

Esta vez la función que imprime el this no imprime el objeto window, si no nuestro objeto.

Por lo tanto, el this dentro de un objeto es el mismo objeto.

Seguiremos complicándolo en el episodio 3…

Ya, pero… ¿qué es el this en javascript? episodio 2

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s