Learn the basics of functional programming in JavaScript. You'll take a small, mostly imperative website and refactor it using practical declarative and functional concepts. You'll learn about pure functions, side-effects and declarative style while building a small functional utility library. The project will demonstrate how Underscore or Lodash functions like filter
, map
, and reduce
really work. Focused on practical understanding over philosophy, this is a great basic intro to functional programming that will prepare you for deeper exploration.
Learn JavaScript: The Complete Guide
We've built a complete guide to help you learn JavaScript, whether you're just getting started as a web developer or you want to explore more advanced topics.
1.Introduction3 lessons, 14:53
3 lessons, 14:53
1.1Introduction01:13
1.1
Introduction
01:13
1.2A Refresher on Functions08:57
1.2
A Refresher on Functions
08:57
1.3Project Walkthrough04:43
1.3
Project Walkthrough
04:43
2.Some Basic Improvements5 lessons, 36:51
5 lessons, 36:51
2.1Getting Declarative09:20
2.1
Getting Declarative
09:20
2.2Making our Filter Declarative08:21
2.2
Making our Filter Declarative
08:21
2.3Becoming Familiar With Higher-Order Functions05:22
2.3
Becoming Familiar With Higher-Order Functions
05:22
2.4Callbacks, the Other Higher-Order Function06:15
2.4
Callbacks, the Other Higher-Order Function
06:15
2.5A Look at Pure Functions07:33
2.5
A Look at Pure Functions
07:33
3.Building a Functional Utility Library4 lessons, 29:00
4 lessons, 29:00
3.1Functional Filter02:52
3.1
Functional Filter
02:52
3.2Understanding Map and Reduce10:41
3.2
Understanding Map and Reduce
10:41
3.3Reorganizing Our Collection With GroupBy08:13
3.3
Reorganizing Our Collection With GroupBy
08:13
3.4Getting Creative With Pluck and Mean07:14
3.4
Getting Creative With Pluck and Mean
07:14
4.Some Existing Tools2 lessons, 14:47
2 lessons, 14:47
4.1Underscore and Lodash07:55
4.1
Underscore and Lodash
07:55
4.2Native JavaScript Functions in ES506:52
4.2
Native JavaScript Functions in ES5
06:52
5.Conclusion1 lesson, 02:36
1 lesson, 02:36
5.1Conclusion02:36
5.1
Conclusion
02:36