Holiday Sale!

All Courses 50% off!

$139$69 EACH β€” SKILL UP IN 2023!

WOAH! Any Package β€” Includes Team Licenses!

Applies to Beginner JavaScript, Master Gatsby, React For Beginners, Learn Node, ES6+ for Everyone and Advanced React

00Days00Hours00Mins00Secs

Remaining

The Best Way To Learn Modern JavaScript

ES6For
Everyone!

πŸ”₯ Updated for ES7/ES2016 and ES8/ES2017 including Async+Await, Babel 7 and more!


This is a free update for all 27,671 of you who have already bought!

A premium training course to strengthen your core JavaScript skills
and master all that ES6 has to offer. Join 27,671 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

Meet Wes Bos

Wes Bos is a Full Stack Developer, Speaker and Teacher from Canada. He is a course creator, works as an independent web developer and is the co-host of Syntax - a popular web development podcast. Wes has taught over 500 students in 200+ classes and spoken at dozens of conferences around the world. Wes wrote his own bio in the third person for some reason.

Wes is the author of React For Beginners, Advanced React and GraphQL, ES6 for Everyone and Learn Node which together have sold over 55,000 copies. He is also the author of JavaScript30.com, CSSGrid.io, Flexbox.io and Command Line Power User, a set of free video series. 300,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 21 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
WebPackES6ESLintnpm

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

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!

21Modules
77Videos
7Hours

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

    05:27#1
  2. let VS const

    04:03#2
  3. let and const in the Real World

    05:11#3
  4. Temporal Dead Zone

    01:31#4
  5. Is var Dead? What should I use?

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

  7. Arrow Functions Introduction

    05:27#6
  8. More Arrow Function Examples

    04:24#7
  9. Arrow Functions and `this`

    08:32#8
  10. Default Function Arguments

    03:53#9
  11. When NOT to use an Arrow Function

    05:46#10
  12. Arrow Functions Exercises

    09:30#11
  13. Module #3
    Template Strings

  14. Template Strings Introduction

    02:19#12
  15. Creating HTML fragments with Template Literals

    09:00#13
  16. Tagged Template Literals

    08:02#14
  17. Tagged Templates Exercise

    06:18#15
  18. Sanitizing User Data with Tagged Templates

    04:41#16
  19. Module #4
    Additional String Improvements

  20. New String Methods

    07:15#17
  21. Module #5
    Destructuring

  22. Destructuring Objects

    08:43#18
  23. Destructuring Arrays

    04:57#19
  24. Swapping Variables with Destructuring

    02:31#20
  25. Destructuring Functions - Multiple returns and named defaults

    05:30#21
  26. Module #6
    Iterables & Looping

  27. The for of loop

    08:09#22
  28. The for of Loop in Action

    09:57#23
  29. Using for of with Objects

    02:20#24
  30. Module #7
    An Array of Array Improvements

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

    06:53#25
  32. Array. find() and .findIndex()

    04:42#26
  33. Array .some() and .every()

    02:17#27
  34. Module #8
    Say Hello to ...Spread and ...Rest

  35. Spread Operator Introduction

    05:10#28
  36. Spread Exercise

    05:17#29
  37. More Spread Examples

    06:13#30
  38. Spreading into a function

    03:21#31
  39. The ...rest param in Functions and destructuring

    06:06#32
  40. Module #9
    Object Literal Upgrades

  41. Object Literal Upgrades

    08:02#33
  42. Module #10
    Promises

  43. Promises

    05:43#34
  44. Building your own Promises

    03:28#35
  45. Chaining Promises + Flow Control

    09:26#36
  46. Working with Multiple Promises

    07:08#37
  47. Module #11
    Symbols

  48. All About Symbols

    05:58#38
  49. Module #12
    Code Quality with ESLint

  50. Getting Started with ESLint

    11:00#39
  51. Airbnb ESLint Settings

    10:49#40
  52. Line and File Specific Settings

    05:29#41
  53. ESLint Plugins

    04:20#42
  54. ESLint inside Atom and Sublime Text

    06:37#43
  55. Only Allow ESLint Passing Code into your git repos

    03:36#44
  56. Module #13
    JavaScript Modules and Using npm

  57. JavaScript Modules and WebPack 2 Tooling Setup

    18:53#45
  58. Creating your own Modules

    09:34#46
  59. More ES6 Module Practice

    08:22#47
  60. Module #14
    ES6 Tooling

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

    07:05#48
  62. All About Babel + npm scripts

    14:06#49
  63. Polyfilling ES6 for Older Browsers

    06:04#50
  64. Module #15
    Classes

  65. Prototypal Inheritance Review

    05:02#51
  66. Say Hello to Classes

    06:50#52
  67. Extending Classes and using super()

    05:16#53
  68. Extending Arrays with Classes for Custom Collections

    06:56#54
  69. Module #16
    Generators

  70. Introducing Generators

    06:39#55
  71. Using Generators for Ajax Flow Control

    06:07#56
  72. Looping Generators with for of

    01:41#57
  73. Module #17
    Proxies

  74. What are Proxies?

    06:15#58
  75. Another Proxy Example

    03:35#59
  76. Using Proxies to combat silly errors

    04:42#60
  77. Module #18
    Sets and WeakSets

  78. Sets

    04:28#61
  79. Understanding Sets with Brunch

    02:25#62
  80. WeakSets

    03:50#63
  81. Module #19
    Map and Weak Map

  82. Maps

    02:43#64
  83. Map Metadata with DOM Node Keys

    03:40#65
  84. WeakMap and Garbage Collection

    02:35#66
  85. Module #20
    Async + Await Flow Control

  86. 67 - Async Await - Native Promises Review

    07:55#67
  87. 68 - Async Await - Custom Promises Review

    05:33#68
  88. 69 - All About Async + Await

    8:34#69
  89. 70 - Async + Await Error Handling

    12:12#70
  90. 71 - Waiting on Multiple Promises

    7:42#71
  91. 72 - Promisifying Callback Based Functions

    05:04#72
  92. Module #21
    ES7, ES8 + Beyond

  93. 73 - Class Properties

    03:08#73
  94. 74 - padStart and padEnd

    05:22#74
  95. 75 - ES7 Exponential Operator

    01:15#75
  96. 76 - Function Arguments Trailing Comma

    03:24#76
  97. 77 - Object.entries() and Object.values()

    05:13#77

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

Master Package

  • Access to all 21 Modules / 77 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
  • ES2017 Async + Await
  • 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

Team License

With a team license you can buy a number of spots to allocate to employees. The spots do not expire and you can fill the spots via the dashboard whenever you like.

Perfect for on-boarding new hires, interns and contractors to your tech stack.

The team license includes everything in the Master Package above.

I'm also available for on-site training β€” contact me for more info!

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!

FAQ

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!

How long do I get access for?

There is no time limit, and no monthly/yearly fee to keep access. Log in whenever you like and the course will be there for you!

Do you provide a certificate of completion?

Sure do! In your course dashboard you can download an official certificate of completion that can be used to be reimbursed by your employer or land that dream job you are applying for.

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 hey@wesbos.com with a copy of your welcome email and I will refund you.

Do you offer a student discount?

Absolutely! Fill out this form with some proof that you are a student and I'll send you a discount code. This applies to anyone in any type of schooling, including evening classes and coding bootcamps!

If you have received a student discount for a previous product, it's the same code πŸ˜‰.

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 hey@wesbos.com or give me a call 416-833-3641!

React For Beginners

Package

Secure SSL Payment via Stripe

Secure SSL Payment via PayPal