Full JavaScript Masterclass Course: ES6 Modern Development
3.9 (475 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.
31,063 students enrolled

Full JavaScript Masterclass Course: ES6 Modern Development

JavaScript is a very powerful language. Used by all the big companies, Microsoft, Apple, Google etc. ECMAScript 6 inside
3.9 (475 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.
31,063 students enrolled
Created by Frahaan Hussain
Last updated 11/2018
English [Auto]
Current price: $129.99 Original price: $199.99 Discount: 35% off
6 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5 hours on-demand video
  • 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
  • JavaScript programming
  • Application programming
  • Semantics of general programming
  • The format of coding applications
  • All the functions of JavaScript programming
  • Application programming
  • Web development knowledge
Course content
Expand all 70 lectures 04:47:06
+ Introduction
5 lectures 22:05

Introduction to this JavaScript course.

Preview 01:51

Learn how to setup JavaScript on Windows for programming.

Setup on Windows

Learn how to setup JavaScript on Mac OS X for programming.

Setup on Mac OS X

Learn how to setup JavaScript on Linux for programming.

Setup on Linux

cloud IDE is a web-based integrated development platform (IDE). An IDE is a programming environment that has been packaged as an application, typically consisting of a code editor, a compiler, a debugger, and a graphical user interface (GUI) builder.

Preview 01:49
+ Basics
27 lectures 01:48:11

In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program. They are added with the purpose of making the source code easier for humans to understand, and are generally ignored by compilers and interpreters.


The <noscript> tag defines an alternate content for users that have disabled scripts in their browser or have a browser that doesn't support script.

noscript Tag

Strict mode helps out in a couple ways: It catches some common coding bloopers, throwing exceptions. It prevents, or throws errors, when relatively “unsafe” actions are taken (such as gaining access to the global object). It disables features that are confusing or poorly thought out.

Preview 03:27

console refers to an interface through which users communicate with system programs of the operating system or with other console applications. The interactions consist of input operations from standard input device like keyboard and the text display on standard output (usually on computer screen).

Console Output

In programming, a variable is a value that can change, depending on conditions or on information passed to the program. Typically, a program consists of instruction s that tell the computer what to do and data that the program uses when it is running.

Preview 04:28

The prompt() method displays a dialog box that prompts the visitor for input. A prompt box is often used if you want the user to input a value before entering a page. Note: When a prompt box pops up, the user will have to click either "OK" or "Cancel" to proceed after entering an input value.


In programming, a named section of a program that performs a specific task. In this sense, a function is a type of procedure or routine. Some programming languages make a distinction between a function, which returns a value, and a procedure, which performs some operation but does not return a value.


Arithmetic operators take numerical values (either literals or variables) as their operands and return a single numerical value. The standard arithmetic operators are addition (+), subtraction (-), multiplication (*), and division (/).

Preview 07:30

comparison operator is a binary operator that takes two operands whose values are being compared. ... Comparison operators include: Equality operator(==), returns true for operands whose values are equal. Inequality operator (!=), returns false if two operands are equal.

Comparison Operators

The logical OR operator ( ) returns the boolean value true if either or both operands is true and returns false otherwise. The operands are implicitly converted to type bool prior to evaluation, and the result is of type bool . Logical OR has left-to-right associativity.

Logical Operators

bitwise operator is an operator used to performbitwise operations on bit patterns or binary numerals that involve the manipulation of individual bits. Bitwise operators are used in: Communication stacks where the individual bits in the header attached to the data signify important information.

Bitwise Operators

An assignment operator assigns a value to its left operand based on the value of its right operand.

Assignment Operators

The conditional operator (? :) is a ternary operator (it takes three operands). The conditional operator works as follows: The first operand is implicitly converted to bool . It is evaluated and all side effects are completed before continuing.

Conditional Operators

The typeof operator is used to get the data type (returns a string) of its operand. The operand can be either a literal or a data structure such as a variable, a function, or an object. The operator returns the data type.

typeof Operator

In computer science, conditional statementsconditional expressions and conditional constructs are features of a programming language, which perform different computations or actions depending on whether a programmer-specified boolean condition evaluates to true or false. Apart from the case of branch predication, this is always achieved by selectively altering the control flow based on some condition.

Conditional Statements

In computer programming languages, a switch statement is a type of selection control mechanism used to allow the value of a variable or expression to change the control flow of program execution via search and map.

Switch Statement

A for loop repeats until a specified condition evaluates to false. The JavaScript for loop is similar to the Java and C for loop. A for statement looks as follows:

For Loop

The for...in loop is used to loop through an object's properties. As we have not discussed Objects yet, you may not feel comfortable with this loop. But once you understand how objects behave in JavaScript, you will find this loop very useful.

Preview 03:00

In most computer programming languages, a while loop is a control flow statement that allows code to be executed repeatedly based on a given Boolean condition. The while loop can be thought of as a repeating if statement.

While Loop

In most computer programming languages, a do while loop is a control flow statement that executes a block of code at least once, and then repeatedly executes the block, or not, depending on a given boolean condition at the end of the block. ... If it is true, the code executes the body of the loop again.

Do While Loop

Learn about the advanced techniques in loops.

Preview 02:56

In computer programmingevent-driven programming is a programming paradigm in which the flow of the program is determined by events such as user actions (mouse clicks, key presses), sensor outputs, or messages from other programs/threads.


Cookies are small pieces of data stored as text on the client's computer. Normally cookies are used only to store small amounts of data, including user preferences, time and more.


redirect is when a web page is visited at a certain URL, it changes to a different URL. ... This is very useful if we want to redirect a certain page to a new location, change the URL structure of a site, remove the "www." portion of the URL, or even redirect users to another website entirely (just to name a few).

Redirect Page

The graphical control element dialog box is a small window that communicates information to the user and prompts them for a response. Dialog boxes are classified as "modal" or "modeless", depending on whether they block interaction with the software that initiated the dialog.

Dialog Box

The void operator evaluates the given expression and then returns undefined.

void Operator

Opens the Print Dialog to print the current document.

Printing the Page

Time to test your basic JavaScript skills.

Quiz 1 - Basics
5 questions
+ Objects
8 lectures 43:53

The Number JavaScript object is a wrapper object allowing you to work with numerical values. A Number object is created using the Number() constructor.


The Boolean object is an object wrapper for a boolean value.

Preview 02:35

The String global object is a constructor for strings or a sequence of characters.


Regular expressions are patterns used to match character combinations in strings. In JavaScript, regular expressions are also objects. These patterns are used with the exec and test methods of RegExp, and with the match, replace, search, and split methods of String. This chapter describes JavaScript regular expressions.

Regular Expressions

The JavaScript Array object is a global object that is used in the construction of arrays; which are high-level, list-like objects.


Math is a built-in object that has properties and methods for mathematical constants and functions. Not a function object.


The Document Object Model (DOM) is a programming interface for HTML and XML documents. It represents the page so that programs can change the document structure, style, and content. The DOM represents the document as nodes and objects. That way, programming languages can connect to the page.

A Web page is a document. This document can be either displayed in the browser window or as the HTML source. But it is the same document in both cases. The Document Object Model (DOM) represents that same document so it can be manipulated. The DOM is an object-oriented representation of the web page, which can be modified with a scripting language such as JavaScript.

The W3C DOM and WHATWG DOM standards are implemented in most modern browsers. Many browsers extend the standard, so care must be exercised when using them on the web where documents may be accessed by various browsers with different DOMs.


How objective is your JavaScript?

Quiz 2 - Objects
5 questions
+ Classes
8 lectures 21:50

JavaScript classes, introduced in ECMAScript 2015, are primarily syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax does not introduce a new object-oriented inheritance model to JavaScript.

Simple Class Example

A variable is a named location for storing a value. That way an unpredictable value can be accessed through a predetermined name.


The var statement declares a variable, optionally initialising it to a value.

Preview 02:00

The static keyword defines a static method for a class. Static methods aren't called on instances of the class. Instead, they're called on the class itself. These are often utility functions, such as functions to create or clone objects.

Static Functions

The instanceof operator tests whether the prototype property of a constructor appears anywhere in the prototype chain of an object.

instanceof Operator

In object-oriented programming, inheritance enables new objects to take on the properties of existing objects. A class that is used as the basis for inheritance is called a superclass or base class. A class that inherits from a superclass is called a subclass or derived class.

Class Inheritance

Method overriding, in object-oriented programming, is a language feature that allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its superclasses or parent classes.

Method Overriding

super is a keyword. It is used inside a sub-class method definition to call a method defined in the super class. Private methods of the super-class cannot be called. Only public and protected methods can be called by the super keyword. It is also used by class constructors to invoke constructors of its parent class.

Super Keyword

How classy is your JavaScript?

Quiz 3 - Classes
5 questions
+ Advanced
22 lectures 01:31:07

Exception handling is the process of responding to exceptions when a computer program runs. An exception occurs when an unexpected event happens that requires special processing. ...Exception handling attempts to gracefully handle these situations so that a program (or worse, an entire system) does not crash.

Error Handling

Form validation helps us to ensure that users fill out forms in the correct format, making sure that submitted data will work successfully with our applications. This article will tell you what you need to know about form validation.


Learn about animations in JavaScript providing the ability to move objects around the screen.


Learn how to interact with multimedia based content programatically.

Multimedia Controls

The <map> tag is used to define a client-side image-map. An image-map is an image with clickable areas.

Image Map

The Navigator interface represents the state and the identity of the user agent. It allows scripts to query it and to register themselves to carry on some activities.

Browser Navigator

The static import statement is used to import bindings which are exported by another module. Imported modules are in strict mode whether you declare them as such or not.


The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.


A block statement (or compound statement in other languages) is used to group zero or more statements. The block is delimited by a pair of curly brackets and may optionally be labelled.

Preview 03:36

The labeled statement can be used with break or continue statements. It is prefixing a statement with an identifier which you can refer to.

Loop Labels

Hoisting is a JavaScript mechanism where variables and function declarations are moved to the top of their scope before code execution. Inevitably, this means that no matter where functions and variables are declared, they are moved to the top of their scope regardless of whether their scope is global or local.

Variable Hoisting

Hoisting is a JavaScript mechanism where variables and function declarations are moved to the top of their scope before code execution. Inevitably, this means that no matter where functions and variables are declared, they are moved to the top of their scope regardless of whether their scope is global or local.

Function Hoisting

An anonymous function is a function that is not stored in a program file, but is associated with a variable whose data type is function_handle .Anonymous functions can accept inputs and return outputs, just as standard functions do. However, they can contain only a single executable statement.

Anonymous Functions

In computer programming, an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier.

Arrow & Lambda Functions

The Function constructor creates a new Function object. Calling the constructor directly can create functions dynamically, but suffers from security and similar (but far less significant) performance issues to eval. However, unlike eval, the Function constructor creates functions which execute in the global scope only.

Function Constructor

The function* declaration (function keyword followed by an asterisk) defines a generator function, which returns a Generator object.

Generator Functions

An immediately-invoked function expression is a JavaScript programming language idiom which produces a lexical scope using JavaScript's function scoping.

Immediately Invoked Function Expressions

The encodeURI() function encodes a Uniform Resource Identifier (URI) by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character (will only be four escape sequences for characters composed of two "surrogate" characters).

JavaScript URI

Template literals are string literals allowing embedded expressions. You can use multi-line strings and string interpolation features with them.

Template Literals

The Map object holds key-value pairs and remembers the original insertion order of the keys.Any value (both objects and primitive values) may be used as either a key or a value.

Map Collection

The Set object lets you store unique values of any type, whether primitive values or object references.

Set Collection

Ajax (also AJAX short for "Asynchronous JavaScript And XML") is a set of Web development techniques using many Web technologies on the client side to create asynchronous Web applications.


Final quiz of this JavaScript course

Quiz 4 - Advanced
5 questions
  • Passion for learning JavaScript
  • Basic computer knowledge and skills
  • Passion for programming
  • Basic knowledge of computer science is optional
  • Passion for web development

Learn about everything there is to know about JavaScript Applications and How To Program Them. A step by step process is used to show explain every facet of these topics.

NOTE: This course includes information on ECMAScript 6 (ES6) the next era of Javascript!

Gain a good understanding of the following concepts with this course:

  1. What JavaScript is?

  2. JavaScript Certifications

  3. How to program in the JavaScript language

  4. Features of the JavaScript programming language

  5. Coding semantics

  6. Website programming

  7. Design practises of applications

  8. Application programming

  9. Object Oriented programming

  10. Network programming

JavaScript is one of the most popular programming languages in the world that is requested by all companies such as Google, Facebook and Microsoft. This course will ensure you are not left as more and more companies request this awesome language. This course will teach you everything about programming JavaScript applications and websites.

You will receive all the knowledge to use and leverage the powerful technology behind these amazing and wonderful platforms.

Over 210,000 students have enrolled on my courses and all of them are extremely satisfied. You will also be satisfied with this course. If you do not like the course, remember that within 30 days you can request a full refundI guarantee you satisfaction.

If you have any questions regarding the topics covered in this course, please feel free to ask. I'm always happy to help those who want to learn.

To summarise this is what you get:

• Lifetime access to HD quality videos. No monthly subscription. Learn at your own pace, whenever you want.

• All videos are downloadable. Learn wherever you want, even without an internet connection!

• Downloadable starter code and final code for each section.

• Free helpful support in the course Q&A when you have questions or get stuck.

• Multiple coding challenges to practice your new skills (solutions included).

Sounds great? Then start this adventure today by clicking the “Take this course" button, and join me in the only JavaScript course that you will need!

Who this course is for:
  • Anyone looking to learn about JavaScript
  • Developers looking to learn the skills needed to utilise ES6 features
  • Front-end developers
  • People looking to learn about programming
  • Those seeking to understand how JavaScript works
  • People seeking guidance on how to create JavaScript based programs
  • Beginners and experts in this field
  • People seeking more knowledge on the various features of the JavaScript programming language
  • Web developers
  • Back-end developers