Closures, programación funcional en javascript, parte 6

Sexta parte de la serie de programación funcional, en este video veremos los closures! Esta es una técnica utilizada para poder realizar composición.
Mi sitio para más videos, mis cursos y tutoriales: www.nicolas-schurmann.com
Mi setup de desarrollo, video y libros de programación recomendados: kit.co/nschurmann
Mi música en Spotify: spoti.fi/2OdCxP5
mi música en Apple Music: apple.co/3cgI3sm
Discord: bit.ly/3GnTA6y
Twitter: / _nasch_
Instagram: / naschurmann
Afiliados:
Kite es un asistente de autocompletado que te ayuda a programar más rápido.
Descarga Kite: bit.ly/3o78VPK
Te gusta mi teclado? 5% de dcto con cupón HOLAMUNDO al pagar:
Partes y teclados ensamblados: www.littlekeyboards.com/
7% de descuento en hosting Hostinger (cupón HOLAMUNDO)
bit.ly/36XPNOp
Todos mis cursos:
Curso gratuito de vim!: bit.ly/37w6IVp
React - La guía definitiva: bit.ly/3CNF9qr
Python sin fronteras: bit.ly/3iGceuX
Aprende Javascript ES9, HTML, CSS3 y NodeJS desde cero: bit.ly/2Xt93gS
Testing con jest y enzyme bit.ly/2SRsiy4
react native sin fronteras bit.ly/2SwdYMM
Patrones de diseño en javascript: bit.ly/2SuoRyk
Como implementar SCRUM con XP en tu proyecto o empresa bit.ly/39J4OlP
TDD en nodeJS, guia de test con jest bit.ly/2UT22pO
Serverless RESTFul API con NodeJS: guía fácil y definitiva bit.ly/37vyOQv
React, Redux, Typescript, Firebase: Fullstack Serverless bit.ly/38unxRS
ReactJS y redux: experto en frontend en español bit.ly/38A5pG0

Пікірлер: 72

  • @Guitar93Master
    @Guitar93Master3 жыл бұрын

    Este video SUPERA en muchos aspectos a un curso completo que hay disponible en Platzi sobre el mismo tema. Muchas gracias!

  • @andreswellmann7637

    @andreswellmann7637

    2 жыл бұрын

    Platzi es puro marketing xd

  • @gonzariosm
    @gonzariosm3 жыл бұрын

    3:45 el profe se enoja y da miedo jajaja, el chasquido de la sincronización. Muchas gracias por el contenido 10/10 :)

  • @joseangelespinosaestrada4616
    @joseangelespinosaestrada46162 жыл бұрын

    Que genial es poder entender de qué hablas, después de 6 meses de aprender desarrollo web.

  • @JoseGarcia-bf2no

    @JoseGarcia-bf2no

    6 ай бұрын

    Jajaja lo mismo me pasó, pero la verdad es que lo agradezco, porque la mayoria del contenido de youtube es muy básico. Él explica bien, hace buen contenido y no subestima a su audiencia.

  • @mgRamsesful
    @mgRamsesful3 жыл бұрын

    Genial, maestro. Siempre da oro en sus clases, gracias !

  • @andresmunoz6503
    @andresmunoz65035 ай бұрын

    muchas gracias por los videos nicolas me ayudan un monton .

  • @mayikx
    @mayikx4 жыл бұрын

    Gracias por tu tiempo para hacer estas cosas

  • @hallo-welt
    @hallo-welt4 жыл бұрын

    Súper genial, gracias. Saludos

  • @lluisjg
    @lluisjg6 ай бұрын

    El create para despistar es un must ;)

  • @danielclow
    @danielclow3 жыл бұрын

    Esta clase tendría que haber sido antes que el Trampoline, gracias master

  • @yonatancuervo3489
    @yonatancuervo34893 жыл бұрын

    Exelente video, Nico es lo maximo

  • @MarcosCastelli
    @MarcosCastelli4 жыл бұрын

    Esto me sobrepaso, se ve que me falta mucho por recorrer. Un abrazo, gracias por el video.

  • @federicocarracedo903

    @federicocarracedo903

    3 жыл бұрын

    Somos dos

  • @andreswellmann7637
    @andreswellmann76372 жыл бұрын

    Excelente video! 💪🏻

  • @FJMD1987
    @FJMD19872 жыл бұрын

    Gracias!! Mis mejores deseos!!!

  • @juliofslt
    @juliofslt3 жыл бұрын

    Finalmente, despues de varios meses de practicar y mucha teoria por detras, ya entendi el sentido de este video (lo vi la primera vez hace un tiempo pero no lo entendi xd). Gracias por el video Nico! Ya entendi el uso que se le puede dar a esta wea de los closures :V

  • @jefjef418

    @jefjef418

    2 жыл бұрын

    Totalmente identificado, llevo 2 años programando con React, y hasta ahora vengo a recordar que existe esto de los Closures en javascript y me picó la curiosidad de saber de qué se trata. Recuerdo haber visto este video hace varios meses pero no me enteraba de nada. Ahora si que lo empiezo a entender y lo veo muy útil. Me gustaría haberlo entendido antes.

  • @hamsterv9621
    @hamsterv96212 жыл бұрын

    Excelente como siempre

  • @sab1102
    @sab11023 жыл бұрын

    Wow! Cerebro volado para Junior, gracias por un millón!!!

  • @Lashistoriasdelilith
    @Lashistoriasdelilith2 жыл бұрын

    naa, me re perdí, vuelvo a los básicos jaja. Y eso q explicas muy bien.

  • @rafaelhidalgo6733
    @rafaelhidalgo67334 жыл бұрын

    Exelente video

  • @marcos2x2k
    @marcos2x2k2 жыл бұрын

    Excelente, sos un genio

  • @reynaldo1x
    @reynaldo1x3 жыл бұрын

    Orgasmo de conocimientos nuevos!

  • @jefjef418
    @jefjef4182 жыл бұрын

    Wow, ya voy entendiendo esto de los closures.

  • @christianumbrellacorp9116
    @christianumbrellacorp91164 жыл бұрын

    Excelente.

  • @maximojuniorapazachirhuana9641
    @maximojuniorapazachirhuana96413 жыл бұрын

    Genial video

  • @veovideosxD
    @veovideosxD Жыл бұрын

    Gracias maestro

  • @oscartic
    @oscartic4 жыл бұрын

    Muchas gracias por tan valiosos recursos que pones a disposición de todos, tus cursos también están geniales! Pregunta off-topic... ¿Cual es el tu libro favorito de Issac Asimov?

  • @HolaMundoDev

    @HolaMundoDev

    4 жыл бұрын

    Hola! Ahora me estoy leyendo la serie foundation, aunque no me la he terminado no podría decirte cuál de todos es mi favorito aún

  • @danhanfry5629
    @danhanfry56294 жыл бұрын

    Gracias.

  • @freddy9292
    @freddy92923 жыл бұрын

    despues de leer definiciones , este video me aclaro las dudas :D

  • @BlueFalcon93
    @BlueFalcon933 жыл бұрын

    const crudder = dominio => recurso => { } 'dominio', es una función que retorna 'recurso', y ésta a su vez retorna una función anónima. Correcto?

  • @EverAfterBreak2

    @EverAfterBreak2

    3 жыл бұрын

    exactamente

  • @lucianosantillan164
    @lucianosantillan1643 жыл бұрын

    Genio!

  • @YovannyDiaz
    @YovannyDiaz4 жыл бұрын

    Excelente serie bro, una pregunta tienes algún gusto en especial por fetch que por axios?

  • @LocalGhost_8080
    @LocalGhost_80802 жыл бұрын

    ví esta onda en el 2019, dos años después tocó usar esta técnica :)

  • @dafgomz
    @dafgomz2 жыл бұрын

    Gracias, como siempre excelente explicación ¿Porqué la doble flecha?

  • @HajimeNoIppo7891
    @HajimeNoIppo78913 жыл бұрын

    Muy pro

  • @EfeFerich
    @EfeFerich4 жыл бұрын

    Este no me quedó muy claro, aunque debo decir que estoy recién empezando a programar. Quizá me hubiera servido la comparación sin usar Closures para ver la utilidad de ellos. Gracias por la serie!

  • @HolaMundoDev

    @HolaMundoDev

    4 жыл бұрын

    Hola! un closure se crea al momento de correr una función, y puedes acceder a variables que se encuentran declaradas en un scope superior (afuera de la función). :)

  • @pepinogdev
    @pepinogdev3 жыл бұрын

    una pregunta porque cuando haces el return del objeto le pones el parentesis, return ({}), que funcion cumple

  • @fladrian
    @fladrian4 жыл бұрын

    Excelente, muchas gracias por compartir, de igual forma se podria hacer tipo --- const domAndRecu = crudder('dominio')('recurso') ?? --- Corrigeme si me equivoco por favor, pero claro, la forma en la que lo haces en el video es mas modular y pro.

  • @HolaMundoDev

    @HolaMundoDev

    4 жыл бұрын

    También se puede de la forma que tú dices, y es completamente válida.

  • @7urkoGaming
    @7urkoGaming3 жыл бұрын

    Me dejaste loco con el el console.log sin pasarle parámetro y te pinto algo. :D

  • @danielcutipa540

    @danielcutipa540

    3 жыл бұрын

    es porque el log recibe un paratreo y then te escupe una varable, javascript se las arregla

  • @imadev2897
    @imadev28973 жыл бұрын

    Este video lo tiene en Español? jajajajaja, aun muy avanzado para mi. Pero de seguro lo revisaré en poco tiempo! 🦾 Saludos

  • @cladveloper

    @cladveloper

    3 жыл бұрын

    está en español

  • @matiasromera330

    @matiasromera330

    3 жыл бұрын

    @@cladveloper jajaja no lo entenderías...

  • @MsElsospechoso28

    @MsElsospechoso28

    3 жыл бұрын

    esta bien fácil de entender

  • @EzequielRegaldo
    @EzequielRegaldo4 жыл бұрын

    Nunca se me habría ocurrido hacerlo así :O tome su like buen señor

  • @erikomarmontescastro100
    @erikomarmontescastro1002 жыл бұрын

    Gracias por el contenido, fue claro y entendí que son los closures, pero tengo una duda. Para este ejemplo de hacer la petición a la API también podemos usar class y tener una clase padre que tenga el dominio y que las clases hijas tengan el recurso. ¿Pero que es mejor para este ejemplo? Usar herencia con clases como yo lo comenté o usar los closures?

  • @cesarzenteno907

    @cesarzenteno907

    2 жыл бұрын

    Los Closures vinieron y fueron creados exactamente para remplazar a las Clases, yo diria que para este ejemplo, las dos forman van a dar el mismo resultado ,después queda como siempre en manos del programador de como se sienta mas comodo con el formato de tirar código mas rápido ,mas legible, mas intuitivo, te va a funcionar igual ,yo diría que uses la forma que mejor domines (clases ,clausuras).

  • @taolive5990
    @taolive59904 жыл бұрын

    min 3:42 que paso ahí, me ha causado gracia, muy buenos videos te sigo desde hace un tiempo y estoy aprendiendo mucho muchas gracias.

  • @sr_tr
    @sr_tr4 жыл бұрын

    dependencia de node-fetch tambien puedo usarla en lugar de la asomorfic?

  • @HolaMundoDev

    @HolaMundoDev

    4 жыл бұрын

    No la conozco pero si esta hecha para node e imita la api de fetch me imagino que si

  • @carlosalvet
    @carlosalvet3 жыл бұрын

    Pero esto no afecta la transparencia referencial necesaria en la programación funcional?

  • @Mariogoz
    @Mariogoz4 жыл бұрын

    esto no es lo mismo que el scope de la variable ?

  • @Dennisbot

    @Dennisbot

    4 жыл бұрын

    lexical scope se llama en inglés, el lo llama alcance léxico como traducción en español y sí, es básicamente el scope que tienen las variables en la función en la que se encuentren.

  • @arnoldavalos8928
    @arnoldavalos89284 жыл бұрын

    Hola, la sintaxis ${var} es nativa de javascript? Y que la diferencia de llamar a var normalmente? Saludos desde Paraguay

  • @Dennisbot

    @Dennisbot

    4 жыл бұрын

    está disponible desde la versión 6 de ECMAScript stackoverflow.com/a/35984254/1681445 , lo que significa que si usas alguna herramienta de pre-procesado como webpack lo puedes usar sin problemas, pero si usas vanilla javascript dependerás de si el navegador soporta esa versión de ECMAScript lo cual lo más probable es que sí (todo avanza rápido, a menos que sigas usando internet explorer 9 para abajo, no estoy seguro, lo más probable es que nativamente ya puedas usar template literals en tu programación)

  • @edutel6531
    @edutel65313 жыл бұрын

    no entendi, el contexto lexico es lo mismo que un clousure?

  • @MaxRoaBarba
    @MaxRoaBarba3 жыл бұрын

    jajajajsjjsjaj 3:49 me imagine ( codigo @#$% )

  • @NicolasSilvaVasault
    @NicolasSilvaVasault Жыл бұрын

    esta wea me mata, pero lo entiendo, y el ejemplo esta brutal, jamas se me hubiera ocurrido tener una constante por tipo de retorno usando closures

  • @guillermollancaqueo2986
    @guillermollancaqueo29864 жыл бұрын

    los clousures son la cumbia

  • @nicolasmastakas6297
    @nicolasmastakas62973 жыл бұрын

    ay no papi, que es la musioca de fondooooooooooooooooooooooooooooooooooooooooo

  • @maximojuniorapazachirhuana9641
    @maximojuniorapazachirhuana96413 жыл бұрын

    Esto seria lo mismo si yo lo haria con clases y consultar los metodos atravez de una Instancia?

  • @maximojuniorapazachirhuana9641

    @maximojuniorapazachirhuana9641

    3 жыл бұрын

    require("isomorphic-fetch"); //fetch de lado del servidor class Crudder { constructor(url) { this.url = url; this.urlFetch; } setResource(recurso) { this.urlFetch = `${this.url}/${recurso}`; return this; } async get() { let data = await (await fetch(this.urlFetch)).json(); return console.log(data[0]); } } const base = new Crudder("jsonplaceholder.typicode.com"); const todos = base.setResource("todos").get(); const users = base.setResource("users").get(); que opinan de esta manera de realizarlo yo lo veo mucho mas ordenado, quisiera saber sus opiniones

  • @angelhosuarez4165

    @angelhosuarez4165

    3 жыл бұрын

    @@maximojuniorapazachirhuana9641 es lo mismo que yo pensaba pero me parece que la mayoria que trabaja con javascript evita trabajar con clases . para esto usan typescript. yo trabajo con java y ciertamente si voy a usar javascript preferiria manejarlo sin clases para hacerlo corto. Aunque es mas legible a mi parecer lo que has hecho.

  • @EverAfterBreak2

    @EverAfterBreak2

    3 жыл бұрын

    Exactamente, hacen la misma función, pero una es POO y la del vídeo es programación funcional.

  • @berna031
    @berna0312 жыл бұрын

    nop.... nada... cero entendí, de vuelta a leer más sobre closures

  • @pedrozopayares
    @pedrozopayares8 ай бұрын

    La verdad, no entendí nada