JavaScript + ES6 + ES7 + ES8 + ES9 -> The Complete Guide
4.1 (392 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
55,022 students enrolled

JavaScript + ES6 + ES7 + ES8 + ES9 -> The Complete Guide

Modern JavaScript: From Beginner to a JS Ninja for futuristic development with ES5, ES6, ES7, ES8 & ES9 !!
4.1 (392 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
55,022 students enrolled
Created by Abhijeet Soni
Last updated 5/2019
English
English [Auto]
Current price: $135.99 Original price: $194.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 15 hours on-demand video
  • 18 articles
  • 20 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Be a JS Ninja by understanding the fundamental building blocks of JavaScript.
  • Deep understanding of basic and complex language features like Data types, Objects, Functions and many more...
  • Understand and make use the new Features/ Additions/ Concepts introduced with ES6, ES7, ES8 & ES9 including ES5.
  • Learn how to debug the code and increase the code quality.
  • Provided with the demonstrated practicals and project code in the video's to ease your practice and understanding.
Course content
Expand all 137 lectures 14:47:27
+ JS: Fundamentals
11 lectures 01:50:18

In this session, we are going to write our first JavaScript program by embedding JavaScript code into an HTML page which helps us to develop JavaScript 'Hello World' page.

Preview 08:10

In this session, we are going to learn about JavaScript syntax including identifiers, reserved keywords, case-sensitivity, statements, semicolons and comments.

Basic Syntax
10:13

In this session, we are going to discuss about the modern mode i.e. 'use strict'.

'use strict': The Modern Mode
02:20

In this session, we are going to discuss about the variables and the various ways to declare it in JavaScript.

Variables
16:29

In this session, we are going to discuss about the JavaScript data types and their unique characteristics.

Data types
30:20

In this session, we are going to discuss about the accessibility of the variables either by value or by reference and their differences. 

Primitive vs. Reference Values
04:48

In this session, we are going to cover browser specific functions like alert, prompt and confirm which are provided by the JavaScript to interact with the users.

User Interaction: alert, prompt, confirm
04:57

In this session, we are going to cover JavaScript Number type and their useful methods.

Numbers
10:12

In this session, we are going to discuss about JavaScript String type and the ways to effectively manipulate the strings.

Strings
16:19

In this session, we are going to cover JavaScript Boolean object and also have a look for the differences exists between the Boolean object and the boolean primitive type.

boolean vs. Boolean
06:28
Module: Source Code
00:02
+ JS: Operators
5 lectures 31:12

JavaScript has different types of operators. In this session, we are going to discuss about the operators and their precedence.

Operators and their Precedence
13:28

In this session, we are going to discuss about the usage of JavaScript comparison operators to compare values.

Comparison Operators
05:49

In this session, we are going to learn how to use the JavaScript logical operators which includes AND(&&), OR (||), NOT(!).

Logical Operators
05:54

In this session, we are going to learn about the conditional (ternary) operator to make our code more concise.

Conditional (ternary) Operator
05:59
Module: Source Code
00:02
+ JS: Control Flow
5 lectures 19:30

In this session, we are going to learn about the switch case statement to control complex conditional branching in the script.

switch...case Statement
05:48

In this session, we are going to learn about the usage of while and do-while statements.

while/ do...while Statement
05:15

In this session, we are going to learn about the usage of for statement.

for Statement
02:38

In this session, we are going to learn about the usage of break, continue and labeled statements.

break/ continue/ labeled Statement
05:47
Module: Source Code
00:02
+ JS: Arrays
11 lectures 01:27:59

In this session, we are going to learn about arrays and some of their unique characteristics in JavaScript.

Array
09:37

In this session, we are going to learn about how to implement a JavaScript stack and queue using methods of the Array.

Stack and Queue
09:24

In this session, we are going to learn about the implementation of the one of the most important concepts i.e. shallow copy and deep copy via Arrays.

Shallow vs. Deep copy
05:27

In this session, we are going to learn about the usage of JavaScript Array splice() method which changes the contents of an array by deleting or replacing existing elements and inserting new elements.

splice(): Delete, Insert, and Replace
07:44

In this session, we are going to learn how to use the JavaScript array slice() method to copy entire or a subset of the array and convert an array-like object into an array.

slice(): Copying a portion of an Array
07:43

In this session, we are going to learn about the usage of indexOf(), lastIndexOf() methods to find the position of an element and find(), findIndex() methods to find either an object or an index in an array by one of its properties and filter() method to filter the entries.

indexOf(), lastIndexOf() & find(), findIndex() & filter(): Finding/ Filtering
17:42

In this session, we are going to learn how to use the JavaScript array concat() and reverse() methods.

concat() & reverse()
05:56

In this session, we are going to learn how to use the JavaScript array map() method to transform elements in an array and forEach() method to execute a function on every element in an array.

map(): Transforming & forEach(): Iterate
09:49

In this session, we are going to learn about the usage of JavaScript array sort() method to sort arrays of numbers, string and objects.

sort(): Sorting Elements
08:45

In this session, we are going to learn about the usage of the JavaScript array reduce() and reduceRight() methods to reduce an array to a value.

reduce() / reduceRight(): Reducing an Array into a Value
05:50
Module: Source Code
00:02
+ JS: Functions
7 lectures 50:48

In this session, we are going to learn the concept of function to re-structure our code and make them reusable.

Functions
11:53

In this session, we are going to learn about JavaScript Function type that allows us to use the functions as objects.

Functions as Objects
06:57

In this session, we are going to learn about 'this' keyword along with JavaScript function object methods namely apply(), call() and bind().

apply(), call() & bind()
08:14

In this session, we are going to learn about the recursion technique.

Recursion
02:37

In this session, we are going to learn about JavaScript closure and their side effects to use them effectively in our code.

Closure
14:55

In this session, we are going to learn about some JavaScript native functions (i.e. timers) which allow us to delay the execution of arbitrary instructions.

JavaScript Timers
06:10
Module: Source Code
00:02
+ JS: Objects
3 lectures 26:51

In this session, we are going to learn about JavaScript objects and how to define properties and methods for objects.

Objects
05:27

In this session, we are going to learn about the types of properties and their characteristics via internal attributes pertaining to Object.

Object's Properties & their various Attributes
16:14

In this session, we are going to learn about Object-to-Primitive conversions in JavaScript.

Object to Primitive Conversions
05:10
+ JS: Prototypes
5 lectures 47:40

In this session, we are going to learn about most of the important concepts pertaining to JavaScript prototype including prototype chain, prototype linkage, dunder-proto, and shadowing.

Preview 13:44

In this session, we are going to learn about the methods to interact with the prototypes.

Prototypes Methods - I
07:12

In this session, we will continue learning about the methods to interact with the prototypes.

Prototypes Methods - II
05:59

In this session, we are going to learn about JavaScript prototypal inheritance which helps us to link an object to another object for the purpose of reusing the functionality.

Prototypal Inheritance
07:47

In this session, we are going to learn how JavaScript 'this' keyword behaves in different contexts.

Demystifying 'this'
12:58
+ JS: Patterns to create Objects
2 lectures 08:54

In this session, we are going to learn about the Factory pattern to create objects in JavaScript and understand their pros and cons.

Factory Pattern
03:16

In this session, we are going to learn about the Constructor pattern to create objects in JavaScript and understand their pros and cons.

Constructor Pattern
05:38
+ JS: Error Handling
5 lectures 32:20

In this session, we are going to learn about how to handle errors by using the JavaScript try...catch statement.

Preview 12:12

In this session, we are going to learn about the standard built-in error types in JavaScript.

Error types
10:09

In this session, we are going to learn how throw operator can be used to generate an error explicitly by the developer to make our code more robust.

Operator: throw
04:08

In this session, we are going to learn about the need, creation and usage of custom error class in JavaScript.

Preview 05:49
Module: Source Code
00:02
+ ES6: Features with their Syntax
15 lectures 01:54:44

In this session, we are going to cover JavaScript let keyword to declare block-scoped variables and meanwhile we will analyze the differences which exists in between the keywords 'var' and 'let'.

'let': Block-Scoped Variables
09:26

In this session, we are going to learn about the mechanism of hoisting the variables in ES6.

Hoisting: 'var' vs. 'let'
04:43

In this session, we are going to learn about JavaScript const keyword to declare constant variables.

'const': Declaring Constants
09:50

In this session, we are going to learn about JavaScript arrow function to write more concise code for function expressions.

Preview 08:03

In this session, we are going to learn about the usages of this, argument object, new and prototype with JavaScript arrow function.

Arrow Functions: this, argument, new, prototype
09:04

In this session, we are going to learn about how to handle JavaScript default parameters in ES6 if no value or undefined is passed.

Default Function Parameters
11:23

In this session, we are going to learn about the usage of JavaScript rest parameters which gather the parameters and put them all in an array.

Rest Parameters
05:16

In this session, we are going to learn about JavaScript spread operator that spreads out the elements of an array or a string.

Preview 08:32

In this session, we are going to learn about JavaScript for...of statement that allows us to create a loop iterating over an iterable object such as an Array, a Map, or a Set.

'for…of': New Loop Statement
08:22

In this session, we are going to learn about the usage of newly added object literal syntax extensions in ES6 including Object property initializer shorthand, Computed properties, and Concise method syntax.

Object Literal Syntax Extensions
10:29

In this session, we are going to learn about the representation of octal and binary literals in ES6.

Octal and Binary Literals
03:28

In this session, we are going to learn about JavaScript template literals that allow us to work with string template in much easier and concise way.

Template Literals
08:26

In this session, we are going to learn about the usage of ES6 destructuring feature to destructure an array into individual variables.

Destructuring: Array
09:30

In this session, we are going to learn about the usage of ES6 destructuring feature to destructure an object into individual variables.

Destructuring: Object
08:10
Module: Source Code
00:02
Requirements
  • No earlier programming experience is required to master the discussed content.
  • You need to get started with JavaScript is a computer, a browser and a text editor. Use Chrome/ Brackets/ JS Bin for practice.
Description

Welcome to my new course: 'JavaScript + ES6 + ES7 + ES8 + ES9 -> The Complete Guide'.

This course starts from scratch, you neither need to know any pre-requisite programming knowledge nor any language expertise. 

From the environment Setup to Development, this course covers almost each and every concept required to become an expert JavaScript developer

Having a deep-dive of the concepts in this course, you'll learn all about:

  • JavaScript: Development Environment Setup

  • Fundamentals

  • Operators

  • Control Flow

  • Arrays

  • Functions

  • Objects

  • Prototypes

  • Patterns To Create Objects

  • Error Handling

  • Miscellaneous Objects

  • Debugging in Chrome


  • Shopping Cart Project: Putting All Together


  • ES6: Features with their Syntax

  • Modules

  • Class

  • Symbols

  • Iterators & Generators

  • Promises

  • Maps & Sets

  • Extensions of Built-in Objects

  • Reflect API

  • Proxy API


  • ES7: New Features


  • ES8: New Features


  • ES9: New Features


  • World Weather Project: Putting All Together


  • Course Roundup and many more...


This course will assist:

  • In becoming an proficient 'JavaScript Developer' and 

  • Inclining towards the learning/ understanding of any client/ server side programming language.


Why JavaScript?

JavaScript (JS) is a lightweight, interpreted or JIT compiled programming language with first-class functions. Most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.js and Apache CouchDB. JS is a prototype-based, multi-paradigm, dynamic scripting language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles.

The standard for JavaScript is ECMAScript. As of 2012, all modern browsers fully support ECMAScript 5.1. Older browsers support at least ECMAScript 3. On June 17, 2015, ECMA International published the 6th major version of ECMAScript, ECMAScript 2015. Since then, ECMAScript standards are on yearly release cycles. This course covers up to the latest version of JavaScript, which is currently ECMAScript 2019.

Why we should learn JavaScript & the reasons are:

  • Open Source Language: Freely Available.

  • Much more than Scripting programming language.

  • Scalability and Performance Features.

  • Evolving steadily & ES6 represents the BEST !!! 

  • Much JavaScript-related innovation in the Market.

  • Base of most of the frameworks like Angular.

  • Supported by a broad coalition of companies.

Who this course is for:
  • Be a JS Ninja by understanding the most popular programming language in the world viz. JavaScript.
  • Newcomer as well as experienced having the experience with JavaScript (ES5/ ES6) and know the basics of the language.
  • Understanding the new Features and Additions, brought by ES6 (including ES5) to JavaScript.
  • Understand the basics to move head with the popular libraries/frameworks like jQuery, React, Angular or NodeJS.
  • Understand how JavaScript actually works internally.