The Best Way To Learn Modern JavaScript


A premium training course to strengthen your core JavaScript skills
and master all that ES6 has to offer. Join 5,049 in Learning Now β†’

My Account β†’

JavaScript is changing β€”
Here's how to stay up to date!

ES6 is a major update to JavaScript that includes dozens of new features. With a focus on simplicity and readability, this course is an efficient way to find out what is new in JavaScript and most importantly when and how you should use it.

Join me for a fun and approachable look at all ES6 has to offer β€” boost your skills and further your career.

Buy the Course β†’
Wes Bos, the author of Sublime Text Power User

Meet Wes Bos

Wes Bos is a Full Stack Developer, Speaker and Teacher from Canada. He works as an independent web developer and teaches as a lead instructor with HackerYou and Ladies Learning Code. Wes has taught over 500 students in 200+ classes and spoken at dozens of conferences around the world.

Wes is the author of React For Beginners and Sublime Text Power User which together have sold over 11,000 copies. He is also the author of, and Command Line Power User, a set of free video series. 52,000 people have taken at least one of Wes' free video courses.

ES6 is a large and important update to JavaScript that I'm really excited about. Whether you are building with a framework like React or websites in Vanilla JS, you are going to love everything about ES6. Wes' tutorials are among some of the best in our industry β€” I'd recommend learning ES6 with Wes to anyone looking to modernize and improve their JS skillset.
Dan Abramov@dan_abramovReact.js Core Developer β€’ Creator of Redux β€’ Facebook Engineer
Wes is one of the most talented teachers I have ever seen in action. Since we started working together in 2012, his knowledge, energy and humour has helped 500+ students break past difficult learning hurdles and given them the skills and confidence to create amazing things. HackerYou wouldn’t be the same without Wes on our instructor team, and anyone who has the chance to learn from him should prepare to be inspired and delighted.
Heather Payne@heatherpayneCEO of HackerYou β€’ Founder of Ladies Learning Code

What Will I Learn?

The goal of this course is simple: greatly strengthen your core JavaScript skills while preparing and updating you to write modern JavaScript.

The course includes 19 modules that go through ES6 in its entirety. An exhaustive list of topics is cataloged below, but at a glance:

  • ES6 Easy Wins - New Variables, Scoping and Template Strings
  • New Language Features β€” Arrow Functions, Destructuring
  • New Iterables and Looping over data
  • What the heck those ...three ...little ...dots actually do
  • How to structure your JavaScript with Modules and NPM
  • Advanced Classes, Proxies, Generators, Sets and Maps
  • How to write clean and consistent JavaScript with ESLint
  • Proper tooling + bundling setup with Webpack
  • + So much more β€” Check below for a full listing of videos

Who is This For?

Almost everyone! Advanced JavaScript developers will be able to go through the course a little more quickly, but I've designed this course to be as approachable as possible.

Some of the videos feature a review of topics that are a little shaky for some such as scoping, keyword this and prototypal inheritance.

This isn't JavaScript from scratch, so if you are looking for a beginner course this probably isn't it. You should have some knowledge of functions, variables, Objects, Arrays and other fundamentals.

  • Those reliant on jQuery, looking to have a better grasp on the core features of JavaScript.
  • Existing JS developers who want to bridge their personal learning gaps and learn ES6 start to finish.
  • PHP & WordPress Developers looking to become stronger on the client side.
  • Anyone who wants to get better at JavaScript and learns well from seeing both fundamental and advanced concepts in practice.

Not sure if it's for you?

100% money back if you don't think it's a good fit πŸ’°

Video pacing is just right - fast enough to keep you interested without passing by or assuming any details.

Seriously, it won't put you to sleep.


foo? bar? baz? wtf?

This series was made for humans.
It's filled with examples you can understand and would actually use.
100% free of jargon and metasyntactic variables. Foo Yea!


Snack Sized, Referenceable and Easy To Digest

The Videos & Course Modules

Each video breaks down a specific part of ES6 and allows for quick referencing in the future. You can binge watch them all today or do a few each day during your lunch or on your commute.
**Please don't drive and Learn ES6.

Closed Captioning and Transcripts are provided for every video

    Module #1
    New Variables β€” Creation, Updating and Scoping

  1. var Scoping Refresher

  2. let VS const

  3. let and const in the Real World

  4. Temporal Dead Zone

  5. Is var Dead? What should I use?

  6. Module #2
    Function Improvements: Arrows and Default Arguments

  7. Arrow Functions Introduction

  8. More Arrow Function Examples

  9. Arrow Functions and `this`

  10. Default Function Arguments

  11. When NOT to use an Arrow Function

  12. Arrow Functions Exercises

  13. Module #3
    Template Strings

  14. Template Strings Introduction

  15. Creating HTML fragments with Template Literals

  16. Tagged Template Literals

  17. Tagged Templates Exercise

  18. Santizing User Data with Tagged Templates

  19. Module #4
    Additional String Improvements

  20. New String Methods

  21. Module #5

  22. Destructuring Objects

  23. Destructing Arrays

  24. Swapping Variables with Destructuring

  25. Destructuring Functions - Multiple returns and named defaults

  26. Module #6
    Iterables & Looping

  27. The for of loop

  28. The for of Loop in Action

  29. Using for of with Objects

  30. Module #7
    An Array of Array Improvements

  31. Array.from() and Array.of()

  32. Array. find() and .findIndex()

  33. Array .some() and .every()

  34. Module #8
    Say Hello to ...Spread and ...Rest

  35. Spread Operator Introduction

  36. Spread Exercise

  37. More Spread Examples

  38. Spreading into a function

  39. The param in Functions and destructuring

  40. Module #9
    Object Literal Upgrades

  41. Object Literal Upgrades

  42. Module #10

  43. Promises

  44. Building your own Promises

  45. Chaining Promises + Flow Control

  46. Working with Multiple Promises

  47. Module #11

  48. All About Symbols

  49. Module #12
    Code Quality with ESLint

  50. Getting Started with ESLint

  51. Airbnb ESLint Settings

  52. Line and File Specific Settings

  53. ESLint Plugins

  54. ESLint inside Atom and Sublime Text

  55. Only Allow ESLint Passing Code into your git repos

  56. Module #13
    JavaScript Modules and Using npm

  57. JavaScript Modules and WebPack 2 Tooling Setup

  58. Creating your own Modules

  59. More ES6 Module Practice

  60. Module #14
    ES6 Tooling

  61. Tool-Free Modules with SystemJS (+bonus BrowserSync setup)

  62. All About Babel + npm scripts

  63. Polyfilling ES6 for Older Browsers

  64. Module #15

  65. Prototypal Inheritance Review

  66. Say Hello to Classes

  67. Extending Classes and using super()

  68. Extending Arrays with Classes for Custom Collections

  69. Module #16

  70. Introducing Generators

  71. Using Generators for Ajax Flow Control

  72. Looping Generators with for of

  73. Module #17

  74. What are Proxies?

  75. Another Proxy Example

  76. Using Proxies to combat silly errors

  77. Module #18
    Sets and WeakSets

  78. Sets

  79. Understanding Sets with Brunch

  80. WeakSets

  81. Module #19
    Map and Weak Map

  82. Maps

  83. Map Metadata with DOM Node Keys

  84. WeakMap and Garbage Collection


Course Packages

Starter Course

  • Access to the first 7 Modules / 27 HD Video Tutorials
  • Stream course from any device
  • Source Code β€” Completed Examples and Exercises
  • Unlimited Updates
  • SlackExclusive access to the ES6 for Everyone Slack Chat Room where you can ask for help and chat with other learners
Get the Starter Course $89$57

Join 5,049 Others!

Master Package

  • Access to all 19 Modules / 66 HD Videos β€” see above for a full listing of topics
  • Stream and Download DRM-free files from any device
  • Includes ES6 Tooling and Webpack Module Bundling
  • ES6 Classes, Generators and Proxies
  • All Source Code β€” Completed Examples, Exercises, Webpack files and npm scripts
  • Unlimited Updates
  • SlackExclusive access to the ES6 for Everyone Slack Chat Room where you can ask for help and chat with other learners
Get The Master Package $139$69

5,049 already sold!

Team License

Purchase a team license to get your entire team β€” of up to 10 β€” learning and implementing ES6. This includes everything in the Master Package.

For larger groups or for on-site training contact me for more info!

Get a Team License$400

All prices in USD.

Worth It?

Need to convince your Boss?

I've put over 300 hours β€” or $40,000 worth of my time β€” into this course gaining a deep understanding of each feature, creating examples and distilling it into something that is easy for you to consume.

This course should take you between 5 and 15 hours to complete versus anywhere from 50 to 300 hours to learn on your own, scraping together resources.

I've spent the time so you don't have to. Spend a few hours learning ES6 with me and you'll save yourself hours of Googling and Stack Overflowing in the future. I'll mama bird you the stuff you need to know to keep building the things you make.

As with all my courses, there is 100% money back if it's not a good fit. Give it a shot!


I lost, deleted or never got my welcome email! What do I do?

Log into your account, or create an account with the same email you used to buy the series.

What format are the videos? How do I watch them?

Once you buy a package, you will be mailed access to a course viewer area where you can stream all the videos. Buyers of the Master Package will also be able to download them for off-line viewing. All the videos were professionally recorded at 1920×1080 with top quality audio β€” no pops, echoes, chair squeaks, breathing or gross mouth sounds here!

Why should I learn ES6 if I still have to support older browsers like IE8?

Great question - you can start using ES6 today even if you are supporting older browsers. Module #14 will detail how to use Babel and Polyfilling to get everything working 100% in all your browsers.

What if I'm not thrilled?

I want to make sure you get real value out of this so I only want your money if you are happy with the product! If you aren't satisfied, please send an email to with a copy of your welcome email and I will refund you.

Do you offer a student discount?

Absolutely! Send me an email with some proof that you are a student - such as an ID, acceptance letter, or student email address - and I'll send you a discount code. This applies to anyone in any type of schooling, including evening classes and coding bootcamps!

What theme do you use? What is that font? What terminal do you use? What do you think about Atom vs Sublime? What did you have for lunch? How do you tie your shoelaces?

I've detailed my entire setup over here, feel free to tweet me with any more questions you have about setting things up.

I have another question!

Sure - email me at or give me a call 416-833-3641!


React For Beginners


Secure SSL Payment via Stripe

Secure SSL Payment via PayPal