Programming Languages


Beginner's ES6 Programming. Code for the Web in JavaScript!

A Beginner's Guide to ES6 Programming for Aspiring Web Developers & Entrepreneurs. Learn to Code in JavaScript.

4.40 (47 reviews)

Beginner's ES6 Programming. Code for the Web in JavaScript!


22.5 hours


Jun 2019

Last Update
Regular Price

What you will learn

Get started with JavaScript basics

Learn about ES6 and its new features

Apply ES6 concepts in your projects

Use build tools like Gulp and Webpack

Compile ES6 into ES5 using Babel


"This course has made clear to me many obscure concepts about JS. I've tried to learn it for years. This makes it easy."

In this course, you will learn the fundamentals of coding in JavaScript, including ES6. You will learn how to change what is displayed on a webpage using JavaScript.

No prior experience in JavaScript is required. We will explore ES6 in depth and cover many of its new features. You will learn the newest possibilities and fundamental building blocks of JavaScript.

What is ES6?

With ES6 (ECMAScript 6th Edition), you can code for the web. ECMAScript is another name for JavaScript. ES6 has standardized features that JavaScript engines implement. ES6 is well-supported across different web browsers. 

You too can become a web developer by learning the popular programming language JavaScript. Enroll today to join the Mammoth community.



What is ES6?

Functionality of ES6

Testing your Code

Common Pitfalls

Things to Know about this Course

Tips to Getting Started with Javascript

Top 7 Things You Will Learn

Basic Types

Numbers and Strings

Introduction to Booleans

Further Look into Booleans


Further Look into Objects


Further Look into Arrays


Introduction to Variables

Variable Arrays

Boolean Variables

Naming Conventions for Variables

Scoping and Intro to Let

Let Statements

Intro to Const



Intro to If Statements

Equal Sign Operators

Other Comparison Operators

Nested If Statements

Logical Operators

Not Operators

Else and Else If Statements


Introduction to Functions

Making Code Reusable

The Return Keyword


Function Expressions

Functions Changing Non-Primitive Properties

Nested Functions

Internal Functions

Un-Nesting Functions

More Functions

Function Expressions

Returns and Brackets

(Example) Concise Function

For Each Loop

Default Values

Reset Parameters

Arrow Functions

Enclosing Context (Note)

Switch Statements


Break Statement

Volume Example

Alternate Methods

Return Statements



While Loops

Integer and Names Examples

Do While Loop

Purchase Validity Check Example

For Loop

Else If Statements in For Loops

Controlling Loops

Closing Over For Loop

For In and For Each Loops

For Of Loop

Sets in For Of Loops

Document Object Model (DOM)


Example Using DOM


Creating Additional Divs

List Example with getElementById

DOM Query Selector

Selecting Multiple Things at Once

Traversing the DOM

Getting and Setting ID and Class

Styling Divs

Adding a Class

Toggling a Class

Creating Elements

Appending Elements

Removing Elements




Firing and Function Removing Events

Events Propagation

Common Design Pattern

Preventing Default Behavior

Making a Form

Key Events

Showing Text when Typing


Load Event

Adjust Styling


Template Literals


Printing in the Console


Nested Template Literals

Tag Template Literals


Destructuring Arrays

Swapping Variables

Ignoring Values and Rest Operator

Destructuring Objects

Assigning New Variable Names

Assigning Default Values

Getting Parts of Object in Function Parameters

Destructuring Nested Objects

For Loops for Destructuring

Throw Exceptions and Try...Catch

Introduction to Throw Exceptions

Instantiate Objects with Constructor Pattern

Introduction to Try...Catch

Verifying a String

Throwing Errors

Finally Statement

Final Thoughts

Object-Oriented Programming in JavaScript



Calling a Method

Arrays in OOP

Creating Objects

Object Constructors

Updating Instances

Adding Methods to Object Prototype

Inheriting from Objects

Cat Example

Checking Instances

Classes, Inheritance and Grouping

Writing Class as a Declaration

Writing Class as an Expression


Invoking Method on Class

Customer Example

Static Methods

Pros and Cons of Inheritance

Grouping Without Inheritance

Functions and Looping Practice

Refactoring Code

Final Thoughts

Callbacks and Promises

Introduction to Callbacks

Summing Numbers

Correcting an Array

Passing an Anonymous Function

Simulating Going to External Server

Callback Hell

Functions with Callbacks

Introduction to Promises

Asynchronous Computation

Simulating Callback Example

Refining Code

Hard-Coding a Resolve

Chained Promises Example

Rewriting Counter Function with Promises

Common Error with Promises

Promise.all Example

Promise.race Example

Data and Attributes


Fetching and Processing Data

Alternative Way to Append to HTML

Multiple Objects in Response

Using Events, Promises, and Loops

Loops and Data Attributes


Drop-Down Menu Example

Final Thoughts

Syntax and Property

Spread Syntax

Pushing 1 Array into Another

Concatenating Arrays Together

Inserting Array Part into Middle of Another

Slice vs Splice

Rest Syntax and Method Definitions

Property Shorthand

Getting Arguments and Returning Object

Property Names

Formatting Names



Converting Between Sets and Arrays

Final Thoughts

Using Babel CLI and Gulp

Transpiling in Browser

Using Babel in CLI

Looking for Transpiled JavaScript

Looking in Directory

Setting up Simple Server

Watching for Changes

Compiling Using Gulp

Adding Another Task

Setting up Default Task


Lint as a Pipe Chain

Potential Errors

Linting, Bundling and Dev Server


Watch for Changes

Linting With ESLint

Checking over a File


Import and Export Statements

Defining Document

Exporting Default Expressions

Dev Server

Running Webpack Command

Source Code

Source Code

Bonus Lecture: LIVE NOW! Early-bird Kickstarter course

Bonus Lecture: LIVE NOW! Early-bird Kickstarter course


Paul11 October 2018

Not really an "ES6" course. It's a JavaScript course with the odd ES6 example. I would prefer that all examples were pure ES6.

Daniel28 May 2018

It is a very basic course, no real examples, most of the time the teacher sounds like he is in a hurry, if you are a complete beginner maybe it will be a good course

Norma11 February 2018

The tutor starts from very basics and makes sure that fundamentals are right. All concepts are clearly explained.

Igor26 December 2017

This course has made clear to me many obscure concepts about JS. I've tried to lear it for years. This makes it easy.

Barbara28 November 2017

Easy to follow. Quite a bit of normal JS that I didn't need - although some of that was useful to compare the JS way and the ES way (eg OO). Last section(s) - transpiling, jshint, gulp, webpack - could probably have a bit more explanation (seemed quite rushed relative to other sections but that may have been because these bits were totally new to me).

Pieter18 October 2017

I Started this course with an incorrect assumption, just learning ES6. And I did! But it was also about leaning JavaScript in general. Difficult to explain. As a front-end developer I worked a lot with ES5. So I wanted to learn the specifics of ES6. As the course title said "ES6". And all aspects of ES6 where handled by the very experienced tutor. For me, it got interested at the end of the course. Because I was familiar with ES5. So did I learned something? YES a lot. Was it informative YES indeed. Good job, fun to watch!

nam9 September 2017

This course has most of the things covered which is appropriate for any level. I hope there will be more content added later.


Udemy ID


Course created date


Course Indexed date
Course Submitted by