Currying – Part 6 of Functional Programming in JavaScript



💖 Support the show by becoming a Patreon
https://www.patreon.com/funfunfunction

A short video explaining the concept of curring, using JavaScript. This is part of a series, where are learning functional programming using JavaScript.

Currying is when a function, instead of taking all arguments at one time, takes the first one and returns a new function that takes the second one and returns a new function which takes the third one, and so forth, until all arguments have been fulfilled.

Curry function in lodash:
https://lodash.com/docs#curry

Playlist of full series

You want to follow me on Twitter and Quora:

http://www.quora.com/Mattias-Petter-Johansson

💛 Follow on Twitch
We record the show live Mondays 7 AM PT
https://twitch.tv/funfunfunction

💛 Fun Fun Forum
Private discussion forum with other viewers in between shows. https://www.funfunforum.com. Available to patron members, become one at https://www.patreon.com/funfunfunction

💛 mpj on Twitter

💛 CircleCI (Show sponsor)
Robust and sleek Docker-based Continuous Integration as a service. I used CircleCI prior to them becoming a sponsor and I love that their free tier is powerful enough for small personal projects, even if they are private. Use this link when you sign up to let them know you came from here:
https://circleci.funfunfunction.com

💛 Quokka (Show sponsor)
Wonder how MPJ evaluates JavaScript inline his editor. Quokka is the answer – use this link when you buy to let them know you came from here:
http://quokka.funfunfunction.com

💛 FUN FUN FUNCTION
Since 2015, Fun Fun Function (FFF) is one of the longest running weekly YouTube shows on programming 🏅 thanks to its consistency and quality reaching 200,000+ developers.

🤦‍♂️ The Failing Together concept is what makes FFF unique. Most coding content out there focus on step-by-step tutorials. We think tutorials are too far removed from what everyday development is like. Instead, FFF has created a completely new learning environment where we grow from failure, by solving problems while intensively interacting with a live audience.

Tutorials try to solve a problem. Failing Together makes you grow as a developer and coworker.

📹 Each show is recorded live on Twitch in a 2-hour livestream on Mondays. The host, assisted by the audience, is tasked to complete a programming challenge by an expert guest. Like in the real world, we often fail, and learn from it. This, of course, reflects what the audience identifies with, and is one of the most praised aspects of the show.

⏯ On Fridays, an edited version of the show is adapted for and published on YouTube.

Content Topics revolve around: JavaScript, Functional Programming, Software Architecture, Quality Processes, Developer Career and Health, Software Development, Project Management

32 thoughts on “Currying – Part 6 of Functional Programming in JavaScript

  1. @Fun Fun Function thanks for the great video 🙂 would be awesome to see video with few real life cases where the currying can be helpful or even beneficial. Once again thanks and stay curious 😉

  2. You are a strange and crazy person; I love it! This was a great video that simplified currying to a level even I can understand. You're a wizard!

  3. For all of you who still don't know why the hasElement function doesn't have x argument passed.

    Filter method when called on array doesn't need said x argument as it's optional overwrite of 'this' which at the time the array that the filter method was invoked on (look up on mdn)

  4. I have no idea why I am watching this video I’m done with finals but somehow you made fucking currying interesting. Wish I would have found this channel earlier this semester. Hope ur channel grows!

  5. Oooooooooooooh.

    Now I get it. I think. It only took me half an hour. The real test will be if I remember it well enough to use it for something.

    It's like removing layers of an onion, where the inner layers remember what you passed in from the outer layers.

Leave a Reply

Your email address will not be published. Required fields are marked *