Advanced JavaScript Topics
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.
Requirements
This is an advanced course in JavaScript, so you should have taken the beginning course: Learn Modern JavaScript: Getting Started or you should have a good familiarity with the basics of JavaScript.
Description
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!
Overview
Section 1: Introduction
Lecture 1 Course Introduction
Lecture 2 Where will You Go with JavaScript?
Lecture 3 Tools You Will Need for this Course
Lecture 4 A Word about the Exercise Files
Section 2: Think Like a Programmer: Libraries and Frameworks
Lecture 5 Think Like a Programmer: Libraries and Frameworks
Section 3: Advanced Concepts for Objects and Functions
Lecture 6 Advanced Concepts for Functions and Objects
Lecture 7 REVIEW: Function Declarations and Function Expressions
Lecture 8 Functions are Objects
Lecture 9 First Class Functions
Lecture 10 Invoking Functions
Lecture 11 Creating JavaScript Objects
Lecture 12 Understanding this
Lecture 13 Examining this with Normal Function Invocation
Lecture 14 Normal Function Invocation Using strict mode
Lecture 15 Examining this with Method Invocation
Lecture 16 Understanding Prototypes
Lecture 17 Understanding the Prototype of Functions
Lecture 18 Using call and apply Function Methods
Lecture 19 Using the bind Function Method
Lecture 20 Invoking Functions as Constructors: The Magic of new
Lecture 21 Constructor Invocation and the Value of this
Lecture 22 Higher Order Functions, Callbacks and the Problem with this
Lecture 23 Arrow Functions
Lecture 24 REVIEW: Invoking Function and this
Section 4: Think Like a Programmer: DRY Coding
Lecture 25 Abstraction and DRY Coding
Lecture 26 Abstraction and DRY Coding: Exercise 1
Section 5: Working with Objects
Lecture 27 Working with Objects Introduction
Lecture 28 Detecting Properties on Objects
Lecture 29 Changing Property Attributes
Lecture 30 Making Objects Immutable
Lecture 31 ES6 Object Features
Lecture 32 Understanding Method Chaining
Lecture 33 ES2020: Optional Chaining
Section 6: The Power of Functions
Lecture 34 The Power of Functions Introduction
Lecture 35 Immediately Invoked Function Expressions (IIFEs)
Lecture 36 Review of Scope
Lecture 37 Understanding Closure
Lecture 38 OPTIONAL: Closure Take 2
Section 7: Think Like a Programmer: Avoiding Globals
Lecture 39 Avoiding Global Variables
Lecture 40 Using the Namespace Pattern
Section 8: The Power of Functions Continued
Section 9: Think Like a Programmer: The Module Pattern
Lecture 41 The Module Pattern Part 1
Lecture 42 Optional: Overview of Fill-In-Question Code
Lecture 43 The Module Pattern: Part 2
Lecture 44 The Module Pattern: Part 3
Lecture 45 The Module Pattern: Part 4
Section 10: Working with Data: JavaScript Objects and JSON
Lecture 46 Introduction to Working with Data
Lecture 47 JSON Basics
Lecture 48 Creating a JSON File
Lecture 49 Loading a JSON File Using XMLHttpRequest
Lecture 50 Testing on a Server
Lecture 51 Setting Up a Local Server Using Node
Lecture 52 Using Fetch to Load a JSON File
Section 11: Using ES Native Modules
Lecture 53 Using ECMAScript Native Modules
Lecture 54 Important Features of Native Modules
Lecture 55 Applying Native Modules
Lecture 56 Bundling Native Modules
Section 12: Think Like a Programmer: Approaches to Programming
Lecture 57 Approaches to Programming
Section 13: Object Oriented Programming in JavaScript
Lecture 58 Introduction to Object Oriented Programming
Lecture 59 OOP Theory
Lecture 60 Review: Setting the Prototype
Lecture 61 The Constructor Property
Lecture 62 Project: Applying OOP Part 1
Lecture 63 Project: Applying OOP Part 2
Lecture 64 Project: Applying OOP Part 3
Lecture 65 Project: Applying OOP Part 4
Lecture 66 Project: Applying OOP Part 5
Lecture 67 Project: Applying OOP Part 6
Lecture 68 Project: Applying OOP Part 7
Lecture 69 Project: Applying OOP Part 8
Lecture 70 Project: Applying OOP Part 9
Lecture 71 Project: Applying OOP Part 10 – Getters and Setters
Lecture 72 Project: Applying OOP Part 11 – Wrap Up
Lecture 73 Object Oriented Programming: Follow Up Topics
Lecture 74 Enumerating Objects with the for in Loop
Lecture 75 Private Data in Constructors
Lecture 76 Creating Safe Constructors
Lecture 77 Can I Modify the Built-in Prototypes?
Lecture 78 What About ES6 Classes?
Section 14: Using JavaScript Classes
Lecture 79 Making Use of ES6 Classes
Lecture 80 Using Classes for Creating Objects
Lecture 81 Subclassing: Setting Up Inheritance Chains
Lecture 82 Making Data Private
Section 15: Think Like a Programmer: Starting a Project
Lecture 83 Starting a Project
Section 16: Handling Errors
Lecture 84 Handling Errors Inroduction
Lecture 85 Handling JavaScript Errors
Lecture 86 Using the try catch Statement
Lecture 87 Handling Asynchronous Errors
Lecture 88 Using the Error Event for Handling Errors
Lecture 89 Throwing Errors
Lecture 90 Error Handling Strategies
Section 17: Congratulations!
Lecture 91 Congratulations!
Section 18: Bonus Section: Factory Functions
Lecture 92 Introduction to Factory Functions
Lecture 93 Overview of Factory Functions
Lecture 94 Using a Prototype with Factory Functions
Section 19: Bonus Section: Functional Programming Concepts in JavaScript
Lecture 95 Functional Programming Introduction
Lecture 96 Avoiding Side Effects and Using Pure Functions
Lecture 97 Avoiding Shared State
Lecture 98 Avoiding Mutable Data
Lecture 99 Function Composition Part 1
Lecture 100 Function Composition Part 2
Lecture 101 Imperative Programming VS Declarative Programming
Lecture 102 Functional Programming Example
Lecture 103 Functional Programming Techniques
Lecture 104 Using Reduce, Map and Filter
Lecture 105 Assignment / Exercise Follow Up
Lecture 106 Getting Your Feet Wet with Currying
Lecture 107 Understanding Recursion
Lecture 108 Functional Libraries for JavaScript
Section 20: BONUS Section: What Is Next?
Lecture 109 BONUS Lecture! Discounts on Other Courses
Anyone who wants to improve their JavaScript skills.
Course Information:
Udemy | English | 18h 3m | 5.80 GB
Created by: Steven Hancock
You Can See More Courses in the Developer >> Greetings from CourseDown.com