//Los objetos en js se modifican cuando los pasas por parámetro
//la palabra reservada debugger funciona para debugear el codigo
//copiar todos los atributos de un objeto js { … objeto }
//Al comparar objetos en js, compara la dirección en memoria
//filter le pasas una función que retorna true or false
//map le pasas una función que realiza algo y lo retorna transformado
//reduce le pasas una función que acumula un atributo de un objeto y desde donde quieres que inicialice el acumulador
function Persona(nombre, apellido) { this.nombre = nombre; this.apellido = apellido; }
Persona.prototype.saludar = function () { console.log(
Hola soy, ${this.nombre} ${this.apellido} ); }
Modelo viejo:function heredaDe(prototipoHijo, prototipoPadre) { var fn = function () {} fn.prototype = prototipoPadre.prototype prototipoHijo.prototype = new fn claseHija.prototype.constructor = claseHija }
###Asincronismo Js
Js solo puede ejecutar una tarea a la vez, pero puede delegar ciertas funciones a otros procesos
la pila de ejecución o call Stack donde coloca las llamadas a funciones según el orden de ejecución del programa, cuando termina de ejecutar la funciona la toma y la bota
los call back van a parar a la cola de tareas y se encolan en el orden que van llegando
Promesas Js
asegurar que las promesas funcionen en nuestro programas polyfil
son valores que aún no conocemos, es la promesa de que ahí va a haber un valor cuando una acción síncrona suceda y se resuelva
tienes 3 estados:
Ej.
`
new Promise (function (resolve, reject) {
}).then(valor => {
}).catch(err => {
})
`