Course Highlights
  • Understand complex aspects of JavaScript
  • Know and Use ES2015 (ES6), ES2016, and ES2017
  • Impress interviewers with your JavaScript knowledge
  • Know what ECMAScript Is
  • Teach others developers advanced JavaScript

Overview

What kind of fundamentals this course will cover?

  • Understanding the 'this' keyword and its context in various situations.
  • Investigating the complexities of variable scope and how it influences code execution.
  • Explaining the 'new' keyword and its purpose in object construction.
  • Unravelling the idea of hoisting and its implications for code behaviour.
  • Mastering complex concepts like closures and callbacks to improve function handling.

How Does the Course Address ES6 And ES2017 Advancements?

  • Comprehensive coverage of ES6 features such as arrow functions, destructuring, and template literals.
  • In-depth exploration of ES2017 additions, including asynchronous functions (async/await) and shared memory and atomics for concurrent programming.
  • Practical applications and coding exercises to solidify the understanding of these advanced JavaScript concepts.
  • Insight into the module system introduced in ES6 for better code organisation and maintainability.
Curriculum

3 Topics
Setting up your workspace
Where to get help
Welcome

20 Topics
JavaScript Data Types (video)
JavaScript Data Types (article)
Type Coercion (video)
Type Coercion (article)
== vs === (video)
== vs === (article)
Falsy Values (video)
Falsy Values (article)
Null vs Undefined (video)
Null vs Undefined (article)
Operators (video)
Operator Precedence (video)
Logical AND OR NOT (video)
Logical AND OR NOT (article)
Short Circuit Evaluation (video)
Short Circuit Evaluation (article)
Functions invocation return (video)
Functions invocation return (article)
WTF JS? 8 Funky Equations (video)
WTF JS? 8 Funky Equations (article)

7 Topics
What is scope? (video)
What is Scope? (article)
Automatic Global Scope (video)
Variable Hoisting (video)
Variable Hoisting (article)
Let & Const (video)
Let & Const (article)

11 Topics
The Keyword 'this' (video)
The Global Object
Declared Object
The 'new' keyword - part 1
The 'new' Keyword - part 2
Prototypes
The 'new' Keyword & Prototypes (article)
Call Bind Apply (video)
Arrow Functions (video)
Arrow Functions (article)
The Keyword 'this' Massive Recap (article)

10 Topics
Recursion (video)
Recursion (article)
Closures (video)
Closures (article)
IIFE (video)
IIFE (article)
Callbacks (video)
Callbacks (article)
Promises (video)
Promises (article)

2 Topics
Introduction to ES (video)
Introduction to ES (article)

8 Topics
Concepts Already Covered in this Course
Default Parameters
Spread and Rest Paramaters
Template Literals
Array.keys values and entries
Object Property Shorthand
Object Method Properties
Destructuring - Array Matching

2 Topics
Array Includes
Exponentiation Operator

8 Topics
Object.keys values entries (video)
Object.keys values entries (article)
String Padding (video)
String Padding (article)
Trailing Commas (video)
Trailing Commas (article)
Async/Await (video)
Async/Await (article)

1 Topic
Regular Expressions in JavaScript (article)

  Write a Review

A Beginners Guide to Advanced JavaScript & ES6 - ES2017

Go to Paid Course
Frequently Asked Questions
A native module system introduced in ES6 enables programmers to organise code into pieces that are reusable and manageable.
In JavaScript, the 'this' keyword alluded to the active execution context is dynamically determined. Understanding function invocation and object-oriented programming is greatly aided by it.
The answer is called "hoisting," a JavaScript behaviour that occurs when function and variable declarations are pushed to the top of their contained scope during compilation.
Arrow functions, destructuring assignments, template literals, and the let/const keywords for variable declarations are just a few of the improvements that ES6 brought.
Functions known as closures contain variables from their external scope and maintain the state long after the outer function has terminated.