O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: JavaScript: Reactive and Functional JavaScript

Video Description

Write efficient and maintainable JavaScript code

In Detail

JavaScript a language with diverse applications, but most commonly it is used in a web page.

This Learning Path begins with describing what JavaScript is and how browsers use it. We get started with the essentials—the JavaScript syntax. This includes comments, operators, variables, conditions, loops, and functions. With the basics in place, we move on to learn about reactive programming, understand its need, and also look at building simple apps with good understanding of Rx. We will start off with Bacon.js and then move on to using Rx.js for both client-side and server-side applications.

The final part of this Learning Path will look at writing maintainable code. You will experience the benefits of functional programming even if your code is not purely functional. You will also learn how to write code that's easy to understand, extend, test, and debug. Hands-on practice on how to use currying, partial evaluation, map, reduce, filter, recursion, and other functional programming concepts in ES6 is also covered.

By the end of this course, you will be able to optimize your JavaScript code.

Prerequisites: A basic knowledge of HTML, CSS, and ECMAScript is required.

Resources: Code downloads and errata:

  • Beginning JavaScript and jQuery

  • Reactive JavaScript Programming

  • Deep Dive into Functional JavaScript

  • PATH PRODUCTS

    This path navigates across the following products (in sequential order):

  • Beginning JavaScript and jQuery (2h 54m)

  • Reactive JavaScript Programming (2h 20m)

  • Deep Dive into Functional JavaScript (2h 47m)

  • Table of Contents

    1. Chapter 1 : Beginning JavaScript and jQuery
      1. The Course Overview 00:05:32
      2. Introduction to JavaScript 00:09:42
      3. Basic JavaScript Syntax 00:08:35
      4. Variables 00:08:46
      5. Functions 00:10:52
      6. For Loop 00:05:36
      7. While and Do While Loops 00:08:49
      8. if Statement 00:07:40
      9. Switch Statement 00:06:44
      10. What Is the DOM? 00:07:46
      11. Accessing the DOM 00:08:20
      12. Manipulating the DOM 00:12:06
      13. jquery Fundamentals 00:06:55
      14. Using jQuery: Local Versus CDN 00:11:52
      15. Basic jQuery Example 00:08:12
      16. Accessing the DOM with jQuery 00:07:12
      17. Updating the Elements and Content 00:07:38
      18. Inserting the Elements and Content 00:07:13
      19. Playing with Forms 00:09:50
      20. CSS Fun 00:07:52
      21. A Quick Look at Events 00:07:35
    2. Chapter 2 : Reactive JavaScript Programming
      1. The Course Overview 00:02:19
      2. The Need for Going Reactive 00:07:01
      3. First Bite into bacon.js 00:07:11
      4. Building a Reactive Application 00:10:01
      5. Putting Rx in Context 00:01:32
      6. Dealing with Operators 00:12:17
      7. Playing with Streams 00:10:43
      8. Building a Stopwatch Application 00:16:34
      9. Implementing Drag and Drop 00:04:38
      10. Create Operators 00:04:24
      11. Transform Operators 00:05:49
      12. Filter Operators 00:02:46
      13. Combine Operators 00:03:01
      14. Error Handling Operators 00:02:02
      15. Click Control App 00:02:42
      16. Observables as Functions 00:04:10
      17. Error Handling and Completion 00:02:49
      18. Adding the Creation Operator 00:02:40
      19. Adding Other Operators 00:05:57
      20. Subjects as a Hybrid 00:04:29
      21. Behavior Subject 00:03:34
      22. Replay Subject 00:03:27
      23. Async Subject 00:03:15
      24. Multicast 00:04:13
      25. Stopping a Shared Execution 00:02:12
      26. Automate Subjects 00:04:11
      27. Schedulers 00:02:01
      28. Types of Schedulers 00:04:23
    3. Chapter 3 : Deep Dive into Functional JavaScript
      1. The Course Overview 00:04:50
      2. Imperative and Declarative Programming by Example 00:10:44
      3. Principles of Writing Code in Functional Style 00:07:31
      4. Benefits and Drawbacks of Functional Programming 00:06:34
      5. Getting Started with ES6 00:11:07
      6. Deep and Shallow Cloning in JavaScript 00:05:47
      7. Context Binding by Example 00:07:50
      8. Chaining and Function Composition 00:12:59
      9. What are Higher Order Functions? 00:05:03
      10. Handling JavaScript Arrays with Higher Order Functions 00:08:18
      11. Introducing Map, Reduce, and Filter 00:08:50
      12. Joins with Map-Reduce 00:07:26
      13. Filtering Examples 00:06:16
      14. Converting an Array of Nodes to a Tree 00:06:08
      15. Definitions 00:05:06
      16. Deep Dive into Currying 00:10:45
      17. Partial Application 00:11:16
      18. Rendering Templates Using Partial Application 00:04:15
      19. Recursive and Iterative Solutions in JavaScript 00:06:49
      20. Optimization Techniques with Recursion 00:11:14
      21. Your Functional Programming Utility Belt 00:06:28
      22. Your Learning Path 00:02:31