This course is 1 hour 35 minutes long, and it’s split into 13 lessons in total. You’ll find it’s a great resource that you will come back to often, so make sure you bookmark the parts that interest you.
Who Is This FREE Course For?
- Complete beginners who want to be web developers
- Experienced developers who want to explore advanced topics
- Programming enthusiasts who enjoy learning something new and exciting
Follow Along, Learn by Doing
By the end of this course, you will understand concepts like:
- first-class functions
- composing functions
- how to work with the DOM in a functional way
Let’s get our development area set up and ready for coding! In this lesson, I’ll show you how.
2. Basic Concepts
Functional programming takes a declarative approach to writing code. It's a common (and very trendy) way of writing code. We'll examine declarative programming and compare it to imperative programming in this lesson.
Pure and Impure Functions
There are two types of functions in functional programming: pure and impure. You'll learn the difference between the two in this lesson.
We typically work with immutable data in functional programming. It may seem like more work to program immutably, and inefficient to boot, but there are benefits to using immutable data. You'll learn why in this lesson.
3. Building a Functional Project
One key aspect of functional programming is the concept of composition: composing multiple functions into one. You'll learn the two types of composition in this lesson.
Now that you know the types of composition, we'll compose multiple functions together to build an HTML element.
Currying can be a difficult concept to grasp at first, but it is extremely powerful and lets us create partial functions.
Writing a Functional Web App
Most of the code we've written just creates helper functions. In this lesson, we'll start writing our application code to display messages on the page.
Handling events in a functional way is not very different from the procedural way, except now we curry our event setup functions. I'll show you how to do that so we can complete our application in this lesson.
For further reading:
4. Working With Arrays
It's very common to want to filter an array into a smaller set of data. In this lesson, you'll learn how with the
reduce() operation is very useful, and you'll learn how it works and how to apply it in this lesson.
For further reading on this topic, take a look at these two articles: