Advanced JavaScript Topics

Advanced JavaScript Topics

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 15 Hours | 1.79 GB

Mastering Important Patterns, the Power of Functions as well as Object Oriented Programming Concepts

Advanced Topics picks up where the Getting Started course ended. You should now have some experience with JavaScript and understand the JavaScript language much better. Therefore, you are ready to learn more of the nuances and important patterns that advanced JavaScript developers know and use.

In Learn Modern JavaScript: Advanced Topics, we explore the more advanced techniques in JavaScript. You learn advanced concepts for objects and functions, the value of ‘this’, the power of functions using closure and IIFEs. You learn about the namespace and module patterns. You learn JSON and how to load a JSON file. You will follow along as we apply OOP concepts to a project. You get very familiar with the prototype, and these are just the main topics covered in this advanced course. A new bonus section helps you get familiar with functional programming concepts in JavaScript.

This course contains 15 sections and one bonus section, over 90 different lectures, over 17 hours of video, 4 quizzes, 9 assignments, 1 large project and several Think Like a Programmer sections with invaluable information for those intent on making JavaScript a career choice or a major part of their lives.

If you want to improve your JavaScript skills, this course is for you!

What you’ll learn

  • Apply first-class and higher order functions in your coding practices.
  • Explain the different scenarios that affect the value of this.
  • Identify the object to which this is bound.
  • Manipulate this binding to accomplish programing problems.
  • Use prototypes in your coding.
  • Understand and use IIFEs in your code.
  • Define closure and take advantage of it in your code.
  • Apply the namespace and module pattern to your coding projects.
  • Create JSON files.
  • Load and use JSON data in a project.
  • Manipulate properties on JavaScript objects.
  • Apply OOP principles to your JavaScript coding practices.
  • Make use of constructors and Object create for setting up objects and prototypes.
  • Understand and apply the true nature of JavaScript inheritance.
  • Explain functional programming concepts.
  • Apply functional programming techniques to your JavaScript projects.
Table of Contents

Introduction
1 Course Introduction
2 Where will You Go with JavaScript?
3 Tools You Will Need for this Course
4 A Word about the Exercise Files

Think Like a Programmer: Libraries and Frameworks
5 Think Like a Programmer: Libraries and Frameworks

Advanced Concepts for Objects and Functions
6 Advanced Concepts for Functions and Objects
7 REVIEW: Function Declarations and Function Expressions
8 Functions are Objects
9 First Class Functions
10 Invoking Functions
11 Creating JavaScript Objects
12 Understanding this
13 Examining this with Normal Function Invocation
14 Normal Function Invocation Using strict mode
15 Examining this with Method Invocation
16 Understanding Prototypes
17 Understanding the Prototype of Functions
18 Using call and apply Function Methods
19 Using the bind Function Method
20 Invoking Functions as Constructors: The Magic of new
21 Constructor Invocation and the Value of this
22 Higher Order Functions, Callbacks and the Problem with this
23 Arrow Functions
24 REVIEW: Invoking Function and this

Think Like a Programmer: DRY Coding
25 Abstraction and DRY Coding
26 Abstraction and DRY Coding: Exercise 1

Working with Objects
27 Working with Objects Introduction
28 Detecting Properties on Objects
29 Changing Property Attributes
30 Making Objects Immutable
31 ES6 Object Features
32 Understanding Method Chaining

The Power of Functions
33 The Power of Functions Introduction
34 Immediately Invoked Function Expressions (IIFEs)
35 Review of Scope
36 Understanding Closure

Think Like a Programmer: Avoiding Globals
37 Avoiding Global Variables
38 Using the Namespace Pattern

The Power of Functions Continued

Think Like a Programmer: The Module Pattern
39 The Module Pattern Part 1
40 Optional: Overview of Fill-In-Question Code
41 The Module Pattern: Part 2
42 The Module Pattern: Part 3
43 The Module Pattern: Part 4

Working with Data: JavaScript Objects and JSON
44 Introduction to Working with Data
45 JSON Basics
46 Creating a JSON File
47 Loading a JSON File Using XMLHttpRequest
48 Testing on a Server
49 Setting Up a Local Server Using Node

Think Like a Programmer: Approaches to Programming
50 Approaches to Programming

Object Oriented Programming in JavaScript
51 Introduction to Object Oriented Programming
52 OOP Theory
53 Review: Setting the Prototype
54 The Constructor Property
55 Project: Applying OOP Part 1
56 Project: Applying OOP Part 2
57 Project: Applying OOP Part 3
58 Project: Applying OOP Part 4
59 Project: Applying OOP Part 5
60 Project: Applying OOP Part 6
61 Project: Applying OOP Part 7
62 Project: Applying OOP Part 8
63 Project: Applying OOP Part 9
64 Project: Applying OOP Part 10 – Getters and Setters
65 Project: Applying OOP Part 11 – Wrap Up
66 Object Oriented Programming: Follow Up Topics
67 Enumerating Objects with the for in Loop
68 Private Data in Constructors
69 Creating Safe Constructors
70 Can I Modify the Built-in Prototypes?
71 What About ES6 Classes?

Think Like a Programmer: Starting a Project
72 Starting a Project

Congratulations!
73 Congratulations!

Bonus Section: Functional Programming Concepts in JavaScript
74 Functional Programming Introduction
75 Avoiding Side Effects and Using Pure Functions
76 Avoiding Shared State
77 Avoiding Mutable Data
78 Function Composition Part 1
79 Function Composition Part 2
80 Imperative Programming VS Declarative Programming
81 Functional Programming Example
82 Functional Programming Techniques
83 Using Reduce, Map and Filter
84 Assignment / Exercise Follow Up
85 Getting Your Feet Wet with Currying
86 Understanding Recursion
87 Functional Libraries for JavaScript