YoVDO

Learn Modern JavaScript: Advanced Topics

Offered By: Skillshare

Tags

Javascript Courses Object-oriented programming Courses JSON Courses Closures Courses

Course Description

Overview

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!

If you would like see the teaching style used in this course, you can take a look at the tutorials I've published on my All Things JavaScript YouTube channel.

Make sure you download the exercise files from the class project section to help you get the most out of this course.


Syllabus

  • Lecture 1: Course Introduction
  • Lecture 2: Where Will You Go with JavaScript
  • Think Like a Programmer 1: Libraries and Frameworks
  • Lecture 3: Advanced Concepts for Function and Objects
  • Lecture 4: Functions are Objects
  • Lecture 5: First Class Functions
  • Lecture 6: Invoking Functions
  • Lecture 7: Creating JavaScript Objects
  • Lecture 8: Understanding this
  • Lecture 9: Understanding this with Normal Function Invocation
  • Lecture 10: Normal Function Invocation Using strict Mode
  • Lecture 11: Examining this with Method Invocation
  • Lecture 12: Understanding Prototypes
  • Lecture 13: Understanding the Prototype of Functions
  • Lecture 14: Using Call and Apply Function Methods
  • Lecture 15: Using the Bind Function Method
  • Lecture 16: Invoking Functions as Constructors
  • Lecture 17: Constructor Invocation and the Value of this
  • Lecture 18: Higher Order Functions, Callbacks and the Problem with this
  • Lecture 19: Arrow Functions
  • Review
  • Think Like a Programmer 2A: DRY Programming
  • Think Like a Programmer 2B: DRY Programming Exercise 1
  • Lecture 20: Working with Objects Introduction
  • Lecture 21: Detecting Properties on Objects
  • Lecture 22: Changing Property Attributes
  • Exercise 2 Start
  • Exercise 2 Finish
  • Lecture 23: Making Objects Immutable
  • Lecture 24: ES6 Object Features
  • Lecture 25: Understanding Method Chaining
  • Lecture 26: The Power of Functions Introduction
  • Lecture 27: Immediately Invoked Function Expressions
  • Exercise 3 Start
  • Exercise 3 Finish
  • Lecture 28: Understanding Closure
  • Think Like a Programmer 3A: Avoiding Global Variables
  • Think Like a Programmer 3B: Using the Namespace Pattern
  • Exercise 4 Start
  • Exercise 4 Finish
  • Exercise 5 Start
  • Exercise 5 Finish
  • Think Like a Programmer 4: The Module Pattern Part 1
  • Think Like a Programmer 4: Overview of Fill in Question Code (OPTIONAL)
  • Think Like a Programmer 4: The Module Pattern Part 2
  • Think Like a Programmer 4: The Module Pattern Part 3
  • Think Like a Programmer 4: The Module Pattern Part 4
  • Lecture 29: Introduction to Working with Data
  • Lecture 30: JSON Basics
  • Lecture 31: Creating a JSON File
  • Lecture 32: Loading a JSON File Using XMLHttpRequest
  • Lecture 33: Testing on a Server
  • Exercise 8 Start
  • Exercise 8 Finish
  • Think Like a Programmer 5: Programming Paradigms
  • Lecture 34: Introduction to Object Oriented Programming
  • Lecture 35: OOP Theory
  • Lecture 36: Setting the Prototype Review
  • Lecture 37: The Constructor Property
  • Lecture 38: OOP Exercise Part 1 - Introduction
  • Lecture 39: OOP Exercise Part 2
  • Lecture 40: OOP Exercise Part 3
  • Lecture 41: OOP Exercise Part 4
  • Lecture 42: OOP Exercise Part 5
  • Lecture 43: OOP Exercise Part 6
  • Lecture 44: OOP Exercise Part 7
  • Lecture 45: OOP Exercise Part 8
  • Lecture 46: OOP Exercise Part 9
  • Lecture 47: OOP Exercise Part 10 - Getters and Setters
  • Lecture 48: OOP Exercise Wrap Up
  • Lecture 49: Enumerating Objects with the for in Loop
  • Lecture 50: Private Data in Constructors
  • Lecture 51: Creating Safe Constructors
  • Lecture 52: Can I Modify the Built-in Prototypes?
  • Lecture 53: What About ES6 Classes?
  • Think Like a Programmer 6: Starting a Project
  • Congratulations!

Taught by

Steven Hancock

Related Courses

Work with augmented reality (AR) and the web
Curtin University via edX
Learn Intermediate Swift
Codecademy
JavaScript Basics Course
freeCodeCamp
Введение в iOS-разработку
Moscow Institute of Physics and Technology via Coursera
Learn to Work with JavaScript
Salesforce via Trailhead