Learn Modern JavaScript: Advanced Topics
4.7 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
103 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learn Modern JavaScript: Advanced Topics to your Wishlist.

Add to Wishlist

Learn Modern JavaScript: Advanced Topics

Taking JavaScript to the next level.
4.7 (14 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
103 students enrolled
Created by Steven Hancock
Last updated 7/2017
English
Current price: $16 Original price: $65 Discount: 75% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 12 hours on-demand video
  • 5 Articles
  • 47 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
What Will I 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.
View Curriculum
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 ideas 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 pattern. 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.

This course contains 14 sections, over 70 different lectures, over 11 hours of video, 2 quizzes, 7 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!

Who is the target audience?
  • Anyone who wants to improve their JavaScript skills.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
71 Lectures
11:57:13
+
Introduction
4 Lectures 12:18

A Note About Sample Files

As you move through this course, many lectures allow you to follow along. Those lectures contain a downloadable zip file. Inside the zip file you will find a folder with a name that includes start and a folder with a name that includes final. Use the files in the start folder as you begin the lecture. If you would like to open the final version of the files, use the final folder.

Preview 04:04



+
Think Like a Programmer: Libraries and Frameworks
1 Lecture 06:12
+
Advanced Concepts for Objects and Functions
19 Lectures 02:47:09




Invoking Functions
11:45

Creating JavaScript Objects
08:16



Normal Function Invocation Using strict mode
03:43

Examining this with Method Invocation
15:43

Understanding Prototypes
14:24

Understanding the Prototype of Functions
02:28

Using call and apply Function Methods
12:32

Using the bind Function Method
09:04

Invoking Functions as Constructors: The Magic of new
09:14

Constructor Invocation and the Value of this
10:52

Higher Order Functions, Callbacks and the Problem with this
14:34

Arrow Functions
07:13

REVIEW: Invoking Function and this
04:49

In this section we have covered a lot of concepts, and some of these concepts are difficult and not understood by many JavaScript users. Take a few moments and go through this quiz to make sure you understand those concepts. If you need to review certain lectures, take the time to do that before moving on to the next section.

Section Quiz
16 questions
+
Think Like a Programmer: DRY Coding
2 Lectures 26:51
Abstraction and DRY Coding
12:32

Abstraction and DRY Coding: Exercise 1
14:19
+
Working with Objects
5 Lectures 40:17
Working with Objects Introduction
01:07

Detecting Properties on Objects
07:41

Changing Property Attributes
06:28

In this exercise you will practice working with an object to learn what properties it has access to and which properties are owned by the object.
Exercise 2: Working with Objects
2 questions


ES6 Object Features
15:44

In this section we have covered several new concepts concerning objects.  Take a few moments and go through this quiz to make sure you understand those concepts. If you need to review certain lectures, take the time to do that before moving on to the next section.

Section Quiz
7 questions
+
The Power of Functions
4 Lectures 26:04

Immediately Invoked Function Expressions (IIFEs)
10:05

This exercise will give you a chance to work on the syntax of immediately invoked function expressions. You will create 3 basic functions and set them up so that they are invoked immediately.
Exercise 3: Immediately Invoked Function Expressions
1 question


Understanding Closure
11:49
+
Think Like a Programmer: Avoiding Globals
2 Lectures 25:29

Using the Namespace Pattern
13:48
+
The Power of Functions Continued
0 Lectures 00:00
This assignment will give you an opportunity to work with the concept of closure. You will do this by creating a handler.
Closure: Exercise 4
1 question

In this assignment you will use the namespace pattern. Refactor the code provided (taken from exercise 1) and apply the namespace pattern to that code.
Namespace Pattern Exercise 5
1 question
+
Think Like a Programmer: The Module Pattern
5 Lectures 01:01:12
The Module Pattern Part 1
06:22

Optional: Overview of Fill-In-Question Code
11:58

The Module Pattern: Part 2
12:44

The Module Pattern: Part 3
13:55

The Module Pattern: Part 4
16:13

Now is time to practice the module pattern. In this assignment you will create modules, using the module pattern, of existing code.
Module Pattern Exercise 6
1 question

This assignment will give you even more experience with the module pattern. You will be creating modules from existing code.
Module Pattern Exercise 7
1 question
+
Working with Data: JavaScript Objects and JSON
5 Lectures 53:45


Creating a JSON File
07:54

Loading a JSON File Using XMLHttpRequest
14:04

Testing on a Server
10:50

In this assignment you will have the opportunity to create and load a JSON file and display its contents on an HTML page.
JSON Data Exercise 8
2 questions
4 More Sections
About the Instructor
Steven Hancock
4.8 Average rating
68 Reviews
369 Students
2 Courses
Lead Trainer for All Things JavaScript

Steven has 20+ years experience in training and product development and 15+ years using JavaScript. He started learning JavaScript when it was a new language used for minor affects on a web site. The growth and ubiquitous nature of JavaScript both excites and inspires him.

Currently he is President and Lead Trainer at All Things JavaScript, a resource for anyone and everyone that hopes to increase their JavaScript skills.

Steven has been the co-owner and President of Rapid Intake, an eLearning firm. The company was an ideal place to put his training and development skills to work. While there he managed all development and professional service related activities. He was heavily involved in the initial development of Rapid Intake's main product, an eLearning authoring tool, which eventual lead to its acquisition in 2011 by Callidus Software, a publicly traded company. 

While at Callidus he served as Vice President of Technical Operations for the Litmos Author product line. This included more management, training and programming responsibilities.

Steven is now grateful to being doing what he loves: Teaching about technical subjects. And teaching about a language that he loves: JavaScript.

In addition to JavaScript technologies, Steven has dabbled in other web technologies such as ActionScript, ASP, PHP, HTML, and CSS.