YoVDO

Learning Functional Programming with JavaScript ES6+

Offered By: LinkedIn Learning

Tags

Javascript Courses Functional Programming Courses Higher-Order Functions Courses Recursion Courses Immutability Courses Currying Courses Declarative Programming Courses

Course Description

Overview

Get an introduction to the evolving functional paradigms at the heart of many JavaScript frameworks and programs.

Syllabus

Introduction
  • A functional approach to transform code
  • What you should know
  • Installing Node.js and npm
  • Setting up the project
  • Setting up the project: Hello World
1. Introductory Functional Concepts
  • The goal of functional programming
  • Declarative vs. imperative programming
  • Immutability
  • Separation of data and functions
  • Object oriented to functional approach
  • First-class functions
  • Ensuring immutability: ESLint
  • Ensuring immutability: Install ESLint
  • Ensuring immutability: Finalize ESLint
2. First-Class Functions
  • Arrow functions in ES6
  • Functions as data
  • Functions as data, continued
  • Passing functions as arguments
  • Returning functions
  • Closure
  • Implement private variable
  • Higher-order functions
3. JavaScript: The Functional Parts
  • JavaScript: Functional parts
  • The spread operator
  • Mapping
  • Filtering
  • Every/some
  • Slicing
  • Sorting
  • Reducing
  • Combining functions
  • Challenge: Recreate the map function
  • Solution: Recreate the map function
4. Advanced Functional Concepts
  • Advanced functional concepts
  • Currying and partial application
  • Recursion
  • Functions as objects
  • Challenge: Recursion
  • Solution: Recursion
5. Code Conversion Challenges
  • Challenge: Convert array
  • Solution: Convert array
  • Challenge: Anagrams
  • Solution: Anagrams
  • Challenge: Error messages
  • Solution: Error messages
Conclusion
  • Next steps

Taught by

Shaun Wassell

Related Courses

Programming Languages
University of Virginia via Udacity
Building a Basic Website
University of Massachusetts Amherst via Independent
iDESWEB, Introducción al desarrollo web
Miríadax
Web Engineering II: Developing Mobile HTML5 Apps
Technische Hochschule Mittelhessen via iversity
Web Application Architectures
University of New Mexico via Coursera