Fictizia / Curso-JS-Avanzado-para-desarrolladores-Front-end_ed4

FICTIZIA » JavaScript Avanzado para desarrolladores Front-end — 4ª Edición
http://www.fictizia.com/formacion/curso_javascript_avanzado
GNU Affero General Public License v3.0
35 stars 20 forks source link

Los mundos magicos del THIS #16

Closed UlisesGascon closed 5 years ago

UlisesGascon commented 5 years ago
function detalles (year){
  console.log(`Tu coche es un ${this.marca} ${this.modelo} de ${year}`);
}

detalles() // ... undefined .. undefinded ... undefined
detalles(2018) // ... undefined .. undefinded ... 2018

// Opcion 1
var marca = "Seat"
var modelo = "Ibiza"

detalles(2018) // ... Seat .. Ibiza ..2018

// Contexto de this
//.bind() // Retornar una nueva funcion 
var data = {
    marca: "Seat",
    modelo: "Toledo"
}

var nuevoDetalles = detalles.bind(data)
nuevoDetalles(2030) // Tu coche es un Seat Toledo 2030

// .apply() // [item, item]
detalles.apply(data, [2030])

// .call()  // item, item
detalles.call(data, 2030)