Rapid ES6 Training

Stay up to date with the new syntax and features of the latest version of JavaScript, ES6. You'll learn about features like rest and spread operators, the new 'symbol' type, as well as Iterators, Generators, Promises, and more.
Course info
Rating
(317)
Level
Intermediate
Updated
Apr 5, 2016
Duration
4h 16m
Table of contents
Course Overview
Introduction
New ES6 Syntax
ES6 Modules and Classes
New Types and Object Extensions
Iterators, Generators, and Promises
Arrays and Collections
The Reflect API
The Proxy API
Description
Course info
Rating
(317)
Level
Intermediate
Updated
Apr 5, 2016
Duration
4h 16m
Description

ES6 is a major update to the JavaScript language--it now looks and feels modern, and the updated features fix many problems with the earlier JavaScript versions. If you want to keep your JavaScript developing skills up to date, this course, Rapid ES6 Training, will help you to do that. You'll cover major new features including Iterators, Generators, symbols, and a built-in Promise library. You'll also learn about arrays collections. Finally, you'll discover the new meta-programming features with the Reflect API and Proxy API. By the end of this course, you will have a foundational knowledge of one of the latest web language features, ES6, and you'll be able to use it to write your code better.

About the author
About the author

Mark started in the developer world over 25 years ago. He began his career with a Bachelor of Science in Computer Science from St. Johns University. After spending 10 years on Wall Street working for Goldman Sachs, Lehman Brothers and other major investment banks, Mark became interested in animation and video game software.

More from the author
JavaScript Fundamentals
Intermediate
3h 0m
26 Jul 2018
JavaScript: Getting Started
Beginner
2h 46m
19 Jan 2018
Rapid Angular Training
Intermediate
3h 11m
6 Oct 2017
More courses by Mark Zamoyta
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone, my name is Mark Zamoyta and welcome to my course, Rapid ES6 Training. I'm a software developer consultant in Santa Barbara, California. I've worked with every version of JavaScript since its inception and I'm excited to teach you the latest version ES6. The formal name for this update is ECMAScript 2015. But much of the developer community has stuck with the original name ES6. Google's latest Chrome browser supports 96% of ES6 features. Firefox and Edge are close behind and catching up. There are also transcpilers to get many ES6 features working on Internet Explorer and mobile browsers. Now is definitely the time to start coding in ES6. This course will rapidly review all aspects of this latest JavaScript update. We'll cover new syntax which makes JavaScript look and feel more modern. We'll see how to structure of JavaScript code to make use of modules and classes. Almost every built in JavaScript object has been extended, so we'll see what's been added. New objects and APIs include collection classes such as Map, WeakMap, Set and WeakSet. We can now work with Iterators, Generators and a new primitive type called Symbol. We also have a built in Promise class. And there are two new APIs for meta programming; the Reflect API and Proxy API. By the end of this course you'll know and be able to use the new syntax and features of ES6. Before beginning this course you should be familiar with the prior version of JavaScript, ES5. I hope you'll join me on this journey to learn ES6 with the Raid ES6 Training course at Pluralsight.

New Types and Object Extensions
In this module we'll look at New Types and Object Extensions in ES6. The main new type is the symbol type, and just about every major object in ES5 has been extended some way. First of we'll look at symbols. Symbols is a brand new concept in ES6, and a symbol is used mainly to provide some kind of unique string, and it's guaranteed to be unique and in fact as a developer you'll never even know what that unique ID is. The main way that symbols are used in ES6 as of right now are to add properties to classes. For instance what if you wanted to add a property to every class in your system? Maybe it had to do with security or maybe it had to do with logging or possibly debugging. How can you guarantee that whatever property you add to all these classes will be unique? Well, that's what we use symbols for. You can also use a symbol to provide some kind of unique string as an ID, but we'll see how to work with this new type. There are also well-known symbols. These are symbols that are used as properties on objects that are standardized. For instance when we work with iterators later in this course we'll see how to access an iterator of an object by using it's well known symbol. Now Object with a capital O has been extended, and we'll take a look at all of the new functions added onto that, and there are String Extensions for the string class, there are Number Extensions which clean up some of the problems we've had in ES5 working with numbers. There are Math Extensions adding lots of new mathematical functions, and Regular Expressions have been extended, and a big part of that is now working with unicode in a better way. And finally we'll look at Function Extensions. Mainly there's a name property that's been standardized and we can work with that now, so let's get started with this module and take a look at symbols.

The Reflect API
Hi, my name is Mark Zamoyta, and in this module, we'll talk about the Reflect API. This API is brand-new to ES6, and it's a major addition. Now of course, in JavaScript, we have lots of different ways to work with objects and functions and there's various syntax for these different ways. But what the Reflect API is, is it's a single object called, Reflect, that lets us use function calls to perform many of the operations we perform in JavaScript. And let's see what we'll cover in this module, and I'll give you some examples. We'll start off by looking at Object Construction. Obviously, we can create objects in JavaScript with the new keyword, or by creating an object literal, or by calling object. create. And now there's another way. We can use the Reflect API to construct an object. Likewise, there are many ways to call a method. We can use parentheses, the call function, the apply function, and now we can also use the Reflect API for that. We can work with Prototypes with the Reflect API, Getting them and Setting them, and there are several API functions that we can use to work with Properties, as well. Also, we can use the Reflect API to work with object Extensions and adding new Properties to objects, or preventing that altogether. So it seems like there's not anything really new here. It's just a different API to work with all these different operations we perform on objects and functions. And that's extremely valuable when it comes to the Proxy API. And we'll be learning about Proxy in the next module of this course. But in order to work with Proxy and understand Proxy, we need to understand this Reflect API first. And we'll be covering all of its functions in this module. Another use for the Reflect API is if you have some kind of DSL, or Domain Specific Language. It's a lot easier to work with this single reflect object than to work with lots of different syntax that JavaScript uses. So we'll cover all the functions on Reflect, and there's not a lot of them. And we'll start off with Object Construction.