Deep Dive into Functional JavaScript

Course

Online

£ 10 VAT inc.

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

A practical guide to mastering functional programming in ES6 from the perspective of building real-world applications.In this course, you will have an in-depth overview and the tools in your utility belt to write maintainable code in JavaScript.We will stick to the latest version of JavaScript in this course, ES2017. You don't have to know ES2017 to benefit from the course, as we will introduce the language constructs that we use during it. You will experience the benefits of functional programming even if your code is not purely functional. In this course, you will learn the building blocks that act as a utility belt in your arsenal, enabling you to write code that's easy to understand, extend, test, and debug. You will get hands-on practice on how to use currying, partial evaluation, map, reduce, filter, recursion, and other functional programming concepts in ES6.About the AuthorZsolt Nagy is a web development team lead, mentor, and software engineer living in Berlin, Germany. As a software engineer, Zsolt continuously challenges himself to stick to the highest possible standards when improving his own knowledge. The best way of learning is to create a meaningful product on the way. Until you reach this state, the second best way of learning is to share with others what you learned and how you structure your thoughts. Zsolt is the author of the book and video course ES6 in Practice ( introducing you to all meaningful features of ES6. He is also an author of the book The Developer's Edge – How to Double Your Career Speed with Soft-Skills ( Visit Zsolt's JavaScript blog on zsoltnagy.eu. Zsolt's career blog for software developers is available on

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

Discover the principles of functional programming
Learn the benefits and drawbacks of functional programming compared to other styles
Learn the language constructs of ES6 that are used for functional programming
Write elegant code with chaining and context binding
Understand function composition and function sequencing in depth
Learn about higher order functions with a special emphasis on map, reduce, and filter
Translate SQL queries into chained map and reduce calls
Learn currying and partial application in practice
Learn recursion, tail-call optimization, and the role of accumulator variables
Experiment with optimization techniques combating the performance drawbacks of functional programming
Map out a plan for how to continue after the course

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

This centre's achievements

2021

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 4 years

Subjects

  • Benefits
  • Javascript training
  • Object oriented training
  • Object-oriented training
  • Javascript
  • Composition
  • Perspective
  • Web
  • Writing
  • Programming
  • Object oriented Programming
  • Oriented Programming

Course programme

Introduction to Functional Programming 4 lectures 29:40 The Course Overview This video gives an overview of the entire course. Imperative and Declarative Programming by Example Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.
  • Implement a code example using the principles of object oriented programming
  • Implement the same code example using the principles of functional programming
  • Generalize and compare the two approaches
Principles of Writing Code in Functional Style We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.
  • Learn what side effects are by implementing an example
  • Equip yourself with the ability of writing pure functions using immutable data structures
  • Learn the elements of writing programs in functional style by implementing a code example
Benefits and Drawbacks of Functional Programming We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.
  • Identify four advantages of functional programming
  • Identify three disadvantages of functional programming, one of which is performance
  • Learn how to offset the performance drawback of functional programming with some optimization techniques
Introduction to Functional Programming 4 lectures 29:40 The Course Overview This video gives an overview of the entire course. Imperative and Declarative Programming by Example Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.
  • Implement a code example using the principles of object oriented programming
  • Implement the same code example using the principles of functional programming
  • Generalize and compare the two approaches
Principles of Writing Code in Functional Style We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.
  • Learn what side effects are by implementing an example
  • Equip yourself with the ability of writing pure functions using immutable data structures
  • Learn the elements of writing programs in functional style by implementing a code example
Benefits and Drawbacks of Functional Programming We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.
  • Identify four advantages of functional programming
  • Identify three disadvantages of functional programming, one of which is performance
  • Learn how to offset the performance drawback of functional programming with some optimization techniques
The Course Overview This video gives an overview of the entire course. The Course Overview This video gives an overview of the entire course. The Course Overview This video gives an overview of the entire course. The Course Overview This video gives an overview of the entire course. This video gives an overview of the entire course. This video gives an overview of the entire course. Imperative and Declarative Programming by Example Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.
  • Implement a code example using the principles of object oriented programming
  • Implement the same code example using the principles of functional programming
  • Generalize and compare the two approaches
Imperative and Declarative Programming by Example Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.
  • Implement a code example using the principles of object oriented programming
  • Implement the same code example using the principles of functional programming
  • Generalize and compare the two approaches
Imperative and Declarative Programming by Example Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.
  • Implement a code example using the principles of object oriented programming
  • Implement the same code example using the principles of functional programming
  • Generalize and compare the two approaches
Imperative and Declarative Programming by Example Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.
  • Implement a code example using the principles of object oriented programming
  • Implement the same code example using the principles of functional programming
  • Generalize and compare the two approaches
Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.
  • Implement a code example using the principles of object oriented programming
  • Implement the same code example using the principles of functional programming
  • Generalize and compare the two approaches
Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.
  • Implement a code example using the principles of object oriented programming
  • Implement the same code example using the principles of functional programming
  • Generalize and compare the two approaches
Principles of Writing Code in Functional Style We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.
  • Learn what side effects are by implementing an example
  • Equip yourself with the ability of writing pure functions using immutable data structures
  • Learn the elements of writing programs in functional style by implementing a code example
Principles of Writing Code in Functional Style We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.
  • Learn what side effects are by implementing an example
  • Equip yourself with the ability of writing pure functions using immutable data structures
  • Learn the elements of writing programs in functional style by implementing a code example
Principles of Writing Code in Functional Style We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.
  • Learn what side effects are by implementing an example
  • Equip yourself with the ability of writing pure functions using immutable data structures
  • Learn the elements of writing programs in functional style by implementing a code example
Principles of Writing Code in Functional Style We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.
  • Learn what side effects are by implementing an example
  • Equip yourself with the ability of writing pure functions using immutable data structures
  • Learn the elements of writing programs in functional style by implementing a code example
We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.
  • Learn what side effects are by implementing an example
  • Equip yourself with the ability of writing pure functions using immutable data structures
  • Learn the elements of writing programs in functional style by implementing a code example
We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.
  • Learn what side effects are by implementing an example
  • Equip yourself with the ability of writing pure functions using immutable data structures
  • Learn the elements of writing programs in functional style by implementing a code example
Benefits and Drawbacks of Functional Programming We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.
  • Identify four advantages of functional programming
  • Identify three disadvantages of functional programming, one of which is performance
  • Learn how to offset the performance drawback of functional programming with some optimization techniques
Benefits and Drawbacks of Functional Programming We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.
  • Identify four advantages of functional programming
  • Identify three disadvantages of functional programming, one of which is performance
  • Learn how to offset the performance drawback of functional programming with some optimization techniques
Benefits and Drawbacks of Functional Programming We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.
  • Identify four advantages of functional programming
  • Identify three disadvantages of functional programming, one of which is performance
  • Learn how to offset the performance drawback of functional programming with some optimization techniques
Benefits and Drawbacks of Functional Programming We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.
  • Identify four advantages of functional programming
  • Identify three disadvantages of functional programming, one of which is performance
  • Learn how to offset the performance drawback of functional programming with some optimization techniques
We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.
  • Identify four advantages of functional programming
  • Identify three disadvantages of functional programming, one of which is performance
  • Learn how to offset the performance drawback of functional programming with some optimization techniques
We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.
  • Identify four advantages of functional programming
  • Identify three disadvantages of functional programming, one of which is performance
  • Learn how to offset the performance drawback of functional programming with some optimization techniques
Functional Programming in ES6 4 lectures 37:42 Getting Started with ES6 ES6/ES2015 is introduced from a functional perspective, so that we can build on these fundamentals to write clear, compact functional code.
  • Learn the basics of writing code in ES6: block scope, constants, strict mode, types, object shorthand notation, and template literals
  • Master the arrow function syntax of ES6 to understand functional programming better
  • Learn additional syntactic sugar to process complex data structures: destructuring, spread operator, and rest parameters
Deep and Shallow Cloning in JavaScript Using immutable data structures is a cornerstone of functional programming. Yet, the JavaScript support for immutability is not that obvious. This video raises awareness on the different types of cloning, and makes sure we don’t end up mutating our data.
  • Experiment with shallow cloning using an interactive example with an object diagram
  • Compare shallow cloning to deep cloning using the same object diagram
  • Determine when it is worth for you to implement your own cloning method, and when it makes sense to use libraries
Context Binding by Example Functional programming techniques are mixed with other techniques in JavaScript. When it comes to handling events, timeouts, and other callbacks, we have to use techniques to connect functional code with its context. This video demonstrates how context binding is used as a connector.
  • Learn what context binding is and why it is useful
  • Discover how you can embed functional code in web applications
  • Find out how to substitute argument values with context binding
Chaining and Function Composition Reading pure functional code is often a riddle. We increase readability with object-oriented and functional techniques: chaining and function composition.
  • Learn how to write readable code using chaining
  • Find out the connection between chaining and function composition
  • Understand function composition and function sequencing in depth
Functional Programming in ES6. 4 lectures 37:42 Getting Started with ES6 ES6/ES2015 is introduced from a functional perspective, so that we can build on these fundamentals to write clear, compact functional code.
  • Learn the basics of writing code in ES6: block scope, constants, strict mode, types, object shorthand notation, and template literals
  • Master the arrow function syntax of ES6 to understand functional programming better
  • Learn additional syntactic sugar to process complex data structures: destructuring, spread operator, and rest parameters
Deep and Shallow Cloning in JavaScript Using immutable data structures is a cornerstone of functional programming. Yet, the JavaScript support for immutability is not that obvious. This video raises awareness on the different types of cloning, and makes sure we don’t end up mutating our data.
  • Experiment with shallow cloning using an interactive example with an object diagram
  • Compare shallow cloning to deep cloning using the same object diagram
  • Determine when it is worth for you to implement your own cloning method, and when it makes sense to use libraries
Context Binding by Example Functional programming techniques are mixed with other techniques in JavaScript. When it comes to handling events, timeouts, and other callbacks, we have to use techniques to connect functional code with its context. This video demonstrates how context binding is used as a connector...

Additional information

Basic knowledge of JavaScript is required

Deep Dive into Functional JavaScript

£ 10 VAT inc.