Write Clean, Pure Code by Following Functional JavaScript Principles


 50 Reviews Add a review

Published January 2017

Breakdown your code and make it more maintainable...why wouldn't you?

Functional techniques are very useful for clarity, conciseness, and maintainable coding practices. In this course, you will learn some of the functional programming techniques supported in JavaScript, and how to apply them to make your own code easier to read and less repetitive. Afterwards you’ll be able to tell the difference between functional and imperative code, and add recursion to your development tool belt.

At a minimum, students’ should be familiar with closures, scope, passing functions as values, and JavaScript basic concepts. A student who has completed Introduction to JavaScript and the JavaScript: Next Steps course will have all the knowledge necessary to benefit from the techniques in this course.

Once you’ve completed this course, why not check out Introducing TypeScript. This JavaScript compiler is growing in popularity especially since the rise of ES6 and the latest Angular, definitely one to check out.

Oh yeah, and the whole SitePoint library! Learn More.

What you'll learn

  • Recognize and create pure idempotent functions without side effects.
  • Understand how higher-order functions work.
  • Use mapping, reducing, currying, and composition.
  • Closed captions available
Meet your instructor
M. David Green

A writer and agile coach, and the founder of Agile That Works, a consultancy that helps people in engineering organizations collaborate to make constant improvement a daily practice. David has worked as an engineer, a writer, a designer, a marketing director, and a communications analyst in companies from Fortune 100 giants to tiny high-tech startups in San Francisco and Silicon Valley. He also hosts the podcast Hack the Process at www.hacktheprocess.com.

Lesson 1: What is Functional Programming?
Introduction 5:15
Imperative JavaScript 8:47
Object Oriented JavaScript 11:58
Functional Style 14:07
Pure Functions 9:31
Higher Order Functions 14:19
Lesson 2: Working with Recursion
Traditional Looping 5:42
Simple Recursion 6:44
Issues to Consider with Recursion 5:44
Quiz
Lesson 3: Understanding Currying
Repetitive Code 9:34
Manual Currying 7:00
Deep Currying 12:29
Currying and Partial Application 7:16
Beyond Basic Currying 1:49
Quiz
Lesson 4: Map, Reduce, and Filter
For Loops 4:55
Map 4:42
Reduce 9:15
Filter 6:27
Performance and Usage 13:23
Quiz
Lesson 5: Functional Compositions
Nesting Functions 5:30
Manual Composition 5:13
A Simple Compose Utility 5:58
Composing with a Library 3:50
Lesson 6: What We've Learned
What we've Learned 5:34
What's Next 2:51

Leave a Review