Curso JavaScript: 58. call, apply, bind -
En este video te explico los métodos #call, #apply y #bind en #JavaScript.
💛 Aprende JavaScript aprendejavascript.org/
📖 Mis notas sobre JavaScript jonmircha.com/javascript
📖 Mis notas sobre ECMAScript jonmircha.com/ecmascript
📖 Mis notas sobre JavaScript Asíncrono jonmircha.com/javascript-asin...
📦 Códigos: github.com/jonmircha/youtube-js
🔔 Suscríbete al canal kzread.info?sub_con... 🤓
👉 Visita mi sitio web jonmircha.com/ 💻
🌮 ¿Me invítas un taco? www.paypal.me/jonmircha
📫 Suscríbete a mi lista de correo tinyletter.com/jonmircha/
Пікірлер: 129
Vengo de años de java en desarrollo.. Ahora me estoy metiendo a fondo en javascript.. Un lenguaje divertido y muy fácil de aprender... Lo venia pensando pero el video de hoy por cierto muy bueno.. Me dejó claro que javascript es un lenguaje muy raro..también
@Adormir123
4 ай бұрын
js es un enredo, tambien se java y nose pq me enreda tanto js XD
Espero mis apuntes les sirvan: /* '.apply' y '.call' son dos métodos que se utilizan en JavaScript para cambiar el contexto de una función. La principal diferencia entre '.apply' y '.call' es cómo pasan los argumentos a la función. .apply toma dos argumentos: el primer argumento es el contexto (o el objeto al que se desea cambiar el contexto) y el segundo argumento es un arreglo de argumentos para pasar a la función. .call, por otro lado, toma un argumento de contexto y luego una lista separada por comas de argumentos para pasar a la función. */ /*.bind() es un método en JavaScript que se utiliza para cambiar el contexto (o el "this" dentro) de una función. Es similar al uso de .call() y .apply(), pero tiene un comportamiento ligeramente diferente. Cuando se utiliza .bind(), se crea una nueva función con el mismo código que la función original, pero con el contexto especificado. Este nuevo objeto de función puede ser asignado a una variable y ejecutado más tarde. Además de cambiar el contexto, .bind() también permite pasar argumentos a la función cuando se crea. Estos argumentos se fijan y se pasan a la función cada vez que se llama a la función enlazada. En resumen, .bind() es una forma de crear una nueva función con un contexto específico y argumentos fijos, permitiendo una mayor flexibilidad al momento de usar las funciones y manejar los contextos.*/
@jonmircha
Жыл бұрын
👍🏻
@ConquistandoLaHistoria
Жыл бұрын
chatgpt 😂
@elweonweandolaweafome
Жыл бұрын
@@ConquistandoLaHistoria a veces
Comparto lo que dices, a mi me gusta siempre saber por qué está pasando cada cosa, o entender qué hace realmente cada línea de código, porque como bien lo mencionas, muchas personas solo copian lo que les funcionó, "a, esto sale así solo lo copio y ya está", pero realmente no están comprendiendo lo que ellos mismo están haciendo. Y esto trae problemas en proyectos más grandes. Buen vídeo, y gracias por compartir tus conocimientos.
Lo entendi a grosso modo... falta practicarlo bastante. Gracias!
@jonmircha
Жыл бұрын
😉👍🏻
Grande John, me encanta que vas al fondo de la cuestión para que entendamos por qué se utilizan las cosas. Este el aprendizaje que me gusta
@jonmircha
Жыл бұрын
👋🏻😉
sept 11 1969**Oct 22 2023 gracias excelente curso felicidades John Mircha
@jonmircha
8 ай бұрын
👋🏻😉
Excelente y valioso material.
gracias parcero, muy buen material
Vengo del futuro (estoy haciendo el curso de React y me estaba volviendo loco por porfundizar en THIS) gracias!!!!!!!!
@jonmircha
2 жыл бұрын
Mucha suerte!
Ahora todo encaja, muchas gracias Jhon :D
Gracias profe!
Gracias por otro gran video!!
@jonmircha
3 жыл бұрын
Con gusto
🧙♂ Muchas gracias por los videos!!!
@jonmircha
Жыл бұрын
Gracias por ver
Este curso es oro
@jonmircha
11 ай бұрын
👋🏻😉
Muchas gracias Jon por tu aportación. Muy bien explicado.
@jonmircha
4 жыл бұрын
De nada, comparte para llegar a más gente :)
Muchas graciaaaaas Jon!!!
@jonmircha
2 жыл бұрын
De nada!!
Grande Jon es muy cierto hay que saber las bases y tenemos al mejor enseñandonos :D
@jonmircha
2 жыл бұрын
🙈🙌🏻
Yo no he trabajado con react pero ya llegará. Eso hace que me cueste ver para que sirven todo esto. Pero seguiré practicando. Muchas gracias Sr.Mircha
@jonmircha
7 ай бұрын
👋🏻😉
Muchas gracias por hoy. Saludos.
@jonmircha
Жыл бұрын
Saludos!
Genial explicación Jon, que fácil lo haces para entender. Gracias por tu aporte a la comunidad!
@jonmircha
4 жыл бұрын
De nada, comparte para llegar a más gente :)
Gracias Jon!!!
@jonmircha
2 жыл бұрын
😉🙌🏻
Muy Claro, muchas Gracias
@jonmircha
2 жыл бұрын
🤓👍🏻
Increíble explicación, Jon!!!!!
@jonmircha
2 жыл бұрын
😀👋🏻
hola Jon, nuevamente. en verdad nunca habia tocado nada de javaScritp; pero ya veo lo importante que es este lenguaje. este curso en verdad me ha enseñado bastante, gracias por tu gran empeño de enseñar tus conocimientos. son invaluable!.. y espero ver un curso de vanilla-js si lo tienes disponible de luego de este.
Lo he entendido muy bien, muchisimas gracias por tanto aporte Jonathan :)
@jonmircha
3 жыл бұрын
De nada!
Gracias profe
@jonmircha
Жыл бұрын
😉👍🏻
gracias muy buen video
@jonmircha
Жыл бұрын
Gracias por comentar
gracias excelente video
@jonmircha
2 жыл бұрын
Gracias por comentar
Muchas gracias maestro!
@jonmircha
Жыл бұрын
😉
gracias por ese consejo al final, voy a tener que mirar de nuevo ambos videos del this.
@jonmircha
3 жыл бұрын
;) de nada !!!!
muy bueno, salu2 from ARG ! :D
@jonmircha
4 жыл бұрын
Gracias! Saludos!
Concuerdo con tu opinión Jon. Yo vengo del Backend y al intentar meterme en el front empece por React y me di cuenta de que era necesario saber primero javascript. Gracias por tu dedicación!!
@jonmircha
3 жыл бұрын
;)
Excelente trabajo
@jonmircha
11 ай бұрын
👋🏻😉
Entendido como se enlazan contextos o entornos.. Saludos desde Venezuela (26/04/2023)😀😀😀😀😀
@jonmircha
Жыл бұрын
😉👋🏻
Otro gran video profe jon, si cambia bastante el this respecto a otros lenguajes, muchas gracias profe por compartir esto de forma gratuita
@jonmircha
3 жыл бұрын
;)
Justo hace pocos dias me comentaste que primero me aprenda bien el lenguaje y luego el framework. El tema es que en el afan por conseguir trabajo rapido te dan ganas de pasarte al framework lo antes posible
8:21 he propado call con un objeto literal, y funciona! gracias por compartir tu conocimientos y saludos desde brasil
@jonmircha
3 жыл бұрын
;)
buen video profe gracias
@jonmircha
2 жыл бұрын
Gracias. Saludos
eso me pasaba realmente 15:40 pero hacia porque funcionaba por esto trate de ver estos videos porque se que tu realmente explicas muy bien
@jonmircha
4 жыл бұрын
:)
bind() funciona como call(), si la hacemos autoejecutable: personaDos.saludar.bind(pesonaUno)() Este llamado de saludar(), tomará el contexto de la instancia personaUno, a pesar de ser llamado por personaDos.
empecé a aprender react y tuve que volver a bind. iba a escribir como un changuito jasjj buen video jon
@jonmircha
3 жыл бұрын
😁
@eribertmarquez452
3 жыл бұрын
me paso lo mismo jajajaja
Master! Buen Curso lo mejor es que aplicas ejemplos
@jonmircha
2 жыл бұрын
Muchas gracias!
Me resulta gracioso lo del "Código viejo del 2016"..., cuando de vez en cuando aun me toca cambiar algún programa hecho en CLIPPER en el año 1990.
@jonmircha
2 жыл бұрын
😂🤣🤭
if( this.entendio() ){ nextVideo() }else{ replay() } // nextVideo 🔥🔥🔥
Creo que lo tengo. Igual cualquier dura puedo volver y se que Call, apply y bind son sumamente importantes. (En el contexto de este codigo antiguo, ya se que los componentes funcionales y los hook son lo realmente utilizado) Gracias
@jonmircha
2 жыл бұрын
Excelente!
Hola Jon, muchas gracias por compartir tus conocimientos, he tomado cursos de vue js tuyos y la verdad que no encontré mejores explicaciones. Volverás a subir algún día Vue.Js? Saludos y felíz día del trabajador desde Argentina!!
@jonmircha
4 жыл бұрын
Saludos, probablemente cuando termine este curso empezré con contenido de React o Vue :)
Y conoces alguna forma de usar elementos externos a un setInterval que no implique pasarle this a la funcion?
Jon te preguntaba por el chat para que se utiliza bind(), cual es su objetivo, Ejemplo: Si tengo una función en un componente y necesito mostrar la información de dicha función dentro de otro componente cual sería el objetivo de crear una función y pasar dentro de él el bind(), y al utilizar arrow function en la función inicial es viable utilizar bind()? Aprecio toda tu ayuda y estos excelentes cursos.
@jonmircha
4 жыл бұрын
Justamente las arrow function vienen a hacer que se deje de utilizar bind cada vez menos, bind simplemente va a enlazar un contexto diferente con el objeto o función en el que lo estes usando, es todo :) pero gracias a las arrows se usa menos hoy
El call funciona clavado a commit de Vuex al ejecutar mutaciones
Mircha, Messi y Maradona xD!!! Muchisimas gracias sensei por iluminarnos!!
@jonmircha
2 жыл бұрын
Un saludo! mejor con Cristiano y Pelé 🤭😉
Apply como mapActions, mapState, etc
Buenas, me parece muy curioso que las funciones dentro de un objeto no creen su propio scope, pero en cualquier otro caso si...
Ey veo a Batman cada vez mas lejos jajaja Jon mil gracias, Bendiciones !!! 🧙♂️🧙♂️🧙♂️
@jonmircha
2 жыл бұрын
Gracias por ver
pregunta: en la consola del navegador funcionan bien todos los ejemplos,pero... cuando los ejecuto desde la consola de Vs code la primer funcion saludar esta tomando undefined como valor del this.lugar.... alguien sabe por que es asi?
Hola Jon una consulta, recomendas algún libro para aprender JavaScript más en profundidad? Muchas gracias!
@jonmircha
3 жыл бұрын
SOy más de Documentación pero hay uno que se llama Eloquent JS
Gracias Profe Jhon. Una consulta, al momento de ejecutar el console.log(this) en el navegador me lo marca como undefined. Probe tanto en firefox dev y google chrome. Hay alguna actualizacion o algo?
@jonmircha
3 жыл бұрын
EN que parte lo pones, si lo pones directo en el scope global this siempre sera el objeto Window
@jn-olmos
3 жыл бұрын
@@jonmircha Lo coloco directamente profesor, en un documento limpio (validado que funciona). Simplemente la salida en la consola del navegador es undefined
🤯🤯🤠🤠
@jonmircha
Жыл бұрын
😉👍🏻
creo que con esta clase creo que me quedo mas claro lo del this indirectamente xd // como la funcion anonima esta generando su scope dentro del objeto, y como esta funcion (metodo) es parte del obj // el this dentro de la funcion ya se refiere al contexto del objeto , por cierto Jon , el usar apply o call ya es preferencia de uno o tendran momentos especiales ?
@jonmircha
2 жыл бұрын
👍🏻
el nombre de la propiedad del objeto otraPersona = {} debe ser igual al metodo saludar del objeto persona?
@jonmircha
3 жыл бұрын
de preferencia
Hola Jon, muchas gracias por tu curso! Pero te tengo una duda, estaba probando todo lo de este video y me larga error y despues de buscar un poco me parece que es por el nuevo "globalThis" ¿Puede ser o nada que ver? PD: También descargué el archivo con todos los contenidos para probar si no fue error mio y tampoco me funcionaba
@jonmircha
Жыл бұрын
😮
el curso que tienes de react funciona asi este desactualizado? o han cambiado muchas cosas?
@jonmircha
Жыл бұрын
MI curso sigue vigente
console.log(this) // me da undefined, solo me reconoce globalThis, por que ocurre esto?
@AngelLopez-rd6mt
2 жыл бұрын
Realiza tu códgo sobre una etiqueta script console.log(this)
Entonces voy por camino correcto, yo si dije, primero entender java script para entrar a otras cosas.
@jonmircha
3 жыл бұрын
😉👌
function Persona1(Nombre) { this.Nombre = Nombre; return () => { console.log(this.Nombre); }; } let ap = new Persona1("Albert sanfle ); ap(); // Para resumir una funcion anonima tiene su propio scope y por lo tanto apunta al siguiente entonces una arrow fuction // sucede el caso que no tiene y apunta al padre obj en maneras llanas por lo tanto en conclusion todo depende del contexto , para el video anterior quien se le quedo una espina y tuvo que verlo dos vces
Console.log(this) no me imprime me da undefined que hago disculpen
@jonmircha
3 жыл бұрын
Depende donde lo este imprimeindo, sube tu código a un codepen
@chamocol3614
3 жыл бұрын
@@jonmircha apenas estoy aprendiendo javascript y mi primer this fue como usted lo hizo en el video pero con la diferencia que a ami me imprimió undefined
me declaro un changuito hasta antes de este video U.U
@jonmircha
3 жыл бұрын
🙊🙈🙉🐵
bind es un poquito complicado xD
@jonmircha
2 жыл бұрын
😜
Todos pasamos por algun momento con un mal profesor que nos tocaba escribir como changuitos porque explicaba mal jajajaj
@jonmircha
3 жыл бұрын
🙈🙊
Dedicarte como changuito, jajaja Debe ser lo peor que le puede pasar a un desarrollador eso
@jonmircha
2 жыл бұрын
🙈🙊🙉🐵