Skip to main content
CF

ES6 for Everyone: Master Modern JavaScript

7h 36m
English
Paid

ES6 for Everyone is a premium training course designed to strengthen your core JavaScript skills and help you master all that ES6 has to offer. As a major update to JavaScript, ES6 introduces dozens of new features aimed at enhancing both development efficiency and code readability. This course provides a focused approach to understanding what's new in JavaScript, and most importantly, when and how you should utilize these new features effectively.

Why Learn ES6?

ES6, also known as ECMAScript 2015, is a significant advancement in the JavaScript language. It brings improved performance and includes more expressive syntax, convenient utilities, and better industry standards. Whether building web applications, improving codebases, or simply keeping current with modern practices, mastering ES6 is essential for any JavaScript developer.

New Features in ES6

  • Arrow Functions: Write cleaner and shorter functions.
  • Template Strings: Easier string concatenation with multi-line support.
  • Destructuring Assignment: Simplifies the extraction of data from arrays and objects.
  • Modules: Organize your code into separate, reusable components.
  • Promises: Simplified handling of asynchronous operations.

Course Overview

This course covers all crucial aspects of ES6, providing hands-on examples and practical exercises to solidify your understanding. You will learn how to apply these concepts to real-world scenarios, ensuring that you are not just learning theory, but also practical implementation.

Who Should Enroll?

This course is ideal for:

  • JavaScript Developers: Looking to upgrade their skill set with the latest standards.
  • Front-End Developers: Interested in optimizing web application performance.
  • Anyone: Wishing to deepen their understanding of modern JavaScript.

Conclusion

By enrolling in ES6 for Everyone, you'll gain a comprehensive understanding of ES6 and enhance your development skills, staying at the forefront of JavaScript innovation. This course will equip you with the knowledge you need to write better, more efficient code, ensuring your projects are both successful and maintainable.

About the Author: Wes Bos

Wes Bos thumbnail

Wes Bos is a Canadian full-stack developer, podcaster, and one of the most widely followed teachers in the JavaScript ecosystem. He runs his eponymous online course catalog at wesbos.com and co-hosts Syntax, the long-running web-development podcast. His teaching style — short, dense, project-based screencasts paired with downloadable starter files — set the template that most modern coding-course creators now follow.

The catalog mirrored under this source covers the surface area Wes is best known for: ES6 for Everyone (the canonical introduction to modern JavaScript syntax for a generation of front-end engineers), Master Gatsby, Learn Node (Node.js with MongoDB), and Full Stack Advanced React + GraphQL. The material is paid and aimed at developers who already know the basics and want a focused, working-engineer's tour through a specific stack rather than a beginner walkthrough.

Watch Online 78 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 78 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: getting setup
All Course Lessons (78)
#Lesson TitleDurationAccess
1
getting setup Demo
01:21
2
var Scoping Refresher
05:26
3
let VS const
04:03
4
let and const in the Real World
05:11
5
Temporal Dead Zone
01:30
6
Is var Dead. What should I use
01:51
7
Arrow Functions Introduction
05:26
8
More Arrow Function Examples
04:23
9
Arrow Functions and this
08:31
10
Default Function Arguments
03:53
11
When NOT to use an Arrow Function
05:46
12
Arrow Functions Exercises
09:29
13
Template Strings Introduction
02:19
14
Creating HTML fragments with Template Literals
09:00
15
Tagged Template Literals
08:02
16
Tagged Templates Exercise
06:18
17
Santizing User Data with Tagged Templates
04:41
18
New String Methods
07:14
19
Destructuring Objects
08:43
20
Destructing Arrays
04:57
21
Swapping Variables with Destructuring
02:30
22
Destructuring Functions - Multiple returns and named defaults
05:30
23
The for of loop
09:56
24
The for of Loop in Action
08:08
25
Using for of with Objects
02:20
26
Array.from() and Array.of()
06:53
27
Array. find() and .findIndex()
04:41
28
Array .some() and .every()
02:17
29
Spread Operator Introduction
05:10
30
Spread Exercise
05:16
31
More Spread Examples
06:13
32
Spreading into a function
03:20
33
The ...rest param in Functions and destructuring
06:05
34
Object Literal Upgrades
08:01
35
Promises
05:43
36
Building your own Promises
03:28
37
Chaining Promises + Flow Control
09:25
38
Working with Multiple Promises
07:08
39
All About Symbols
05:57
40
Getting Started with ESLint
10:59
41
Airbnb ESLint Settings
10:48
42
Line and File Specific Settings
05:29
43
ESLint Plugins
04:20
44
ESLint inside Atom and Sublime Text
06:37
45
Only Allow ESLint Passing Code into your git repos
03:36
46
JavaScript Modules and WebPack 2 Tooling Setup
18:52
47
Creating your own Modules
09:33
48
More ES6 Module Practice
08:22
49
Tool-Free Modules with SystemJS (+bonus BrowserSync setup)
07:05
50
All About Babel + npm scripts
11:41
51
Polyfilling ES6 for Older Browsers
06:04
52
Prototypal Inheritance Review
05:02
53
Say Hello to Classes
06:49
54
Extending Classes and using super()
05:15
55
Extending Arrays with Classes for Custom Collections
06:55
56
Introducing Generators
06:38
57
Using Generators for Ajax Flow Control
06:07
58
Looping Generators with for of
01:41
59
What are Proxies?
06:15
60
Another Proxy Example
03:35
61
Using Proxies to combat silly errors
04:42
62
Sets
04:28
63
Understanding Sets with Brunch
02:24
64
WeakSets
03:50
65
Maps
02:42
66
Map Metadata with DOM Node Keys
03:40
67
WeakMap and Garbage Collection
02:34
68
Async Await - Native Promises Review
07:55
69
Async Await - Custom Promises Review
05:33
70
All About Async + Await
08:36
71
Async + Await Error Handling
10:45
72
Waiting on Multiple Promises
07:42
73
Promisifying Callback Based Functions
05:03
74
Class Properties
03:08
75
padStart and padEnd
05:21
76
ES7 Exponential Operator
01:14
77
Function Arguments Trailing Comma
03:23
78
Object.entries() and Object.keys()
05:12
Unlock unlimited learning

Get instant access to all 77 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites should I have before taking this course?
Before enrolling in this course, it's recommended to have a solid understanding of JavaScript fundamentals. Familiarity with concepts like functions, arrays, and objects will be helpful as the course builds on these basics to explore advanced features introduced in ES6.
What kind of projects or exercises will I work on?
The course includes practical exercises that cover various ES6 features. For example, you'll work on exercises involving arrow functions, template strings, and destructuring assignments. These exercises are designed to help you apply ES6 concepts in real-world scenarios, solidifying your understanding through hands-on practice.
Who is the target audience for this course?
The course is designed for JavaScript developers who want to enhance their coding skills with the new features introduced in ES6. It's ideal for those looking to improve their codebases, build modern web applications, or stay current with industry standards.
How does the depth of this course compare to other JavaScript courses?
This course provides focused coverage of ES6, offering 78 lessons that include both theoretical explanations and practical exercises. It delves into essential ES6 features like arrow functions, promises, and modules, ensuring a comprehensive understanding rather than a broad overview.
What tooling or platforms are covered in the course?
The course introduces several tools and platforms to aid in ES6 development, including ESLint for code quality, WebPack 2 for module bundling, and Babel for ES6 code transpilation. These tools help streamline the development process and ensure compatibility with older browsers.
What topics are not covered in this course?
The course is focused exclusively on ES6 features and does not cover earlier versions of JavaScript in depth. It also does not delve into JavaScript frameworks or libraries like React or Angular, instead emphasizing core language features and their applications.
What is the expected time commitment for this course?
The course consists of 78 lessons with varying lengths. As the runtime is not specified, students should prepare to dedicate several hours to complete the course, including time for practical exercises and reviewing lesson materials. The self-paced nature allows flexibility in scheduling.