This course has been updated! We now recommend you take the ES6: The Right Parts course.
Transcript from the "Introduction" Lesson
[00:00:00]
>> [MUSIC]
[00:00:39]
>> Aaron Frost: So I'm excited to be here. I'm happy that Mark invited me. Of all the people that could come and talk about, ES6, I'm like the worst one. Everyone who's involved with it is amazing, and I hope that today we can kind of show what they've worked on for the last three or four years and kinda understand how their process works and get an idea of where these new features are coming from, as well as kind of get a solid handle on them.
[00:01:11] So let's just kind of dive right in. I'm gonna do a little about me real quick. So I started in development as a QA person. I was a QA person for years. Any other reformed Q.A. people? No one raised their hand. Okay, so I'm also a college dropout.
[00:01:27] I went to the local community college in Salt Lake and I was studying computer science. And that lasted like, I was going my Associates and I dropped out after three years which doesn't make any sense but I still wasn't done. So,anyway, I started learning JavaScript with, does anyone know, have an idea where I start learning JavaScript?
[00:01:50] What technology? My guess is no one. So, I start with browser extensions. It's kind of started dorking around in my own time, I was like dude I can change the font size on any site that I want or I can delete things I don't like there. Add new features like find out which of my friends is unfriending me on Facebook and stuff like that.
[00:02:15] Anyway, that was where I started and [COUGH] the second I tried JavaScript I was okay I'm in. This language is what they should have taught me in school. This language is awesome. So, I fell in love with JavaScript. So, I'm also a husband, and a father. I have two girls and a boy.
[00:02:33] And then there's another boy on the way, so just crazy full speed ahead with the family. I love to ice fish. Any ice fishers, since we're in Minnesota? Okay, we got one and a half hand, three hands. Two and a half hands. Okay. And obviously everyone in the front already knew this.
[00:02:51] I'm the good looking of the twins but I have an identical twin so if you ever see me and I don't say hi, it was him, right? It wasn't me. But yeah. I'm also a senior developer at a company called Domo and I'm on a couple podcasts, JS Jabber and Adventure in Angular.
[00:03:13] And I wrote, I'm writing a book with O'Reilly on this topic that we're going to talk about today. And because of that, I've gotten to, I'm not going to say friends, I've made acquaintances with a handful of the people that are in charge of steering Ecma ECMAScript, which is the API that the JavaScript implements.
[00:03:38] And so I'm writing a book, hopefully it's coming out sometime in 2015. I started writing it a few years ago, to be honest with you, and it's changed so much. I'd write a chapter, and then they overhaul the feature and so I gotta rewrite the chapter and it was just a lot of work, so I kind of stopped.
[00:03:56] And then talking to Rick Waldron a few weeks ago, sounds right now might be a good time to get back in. Things have kind of finalized for the most part. I also wrote a short book you can get online for free. It's called JS.Next- A Manager's Guide. Just to, kind of, help you sell your management on why we should alienate Legacy browsers and get the new stuff in.
[00:04:18] And I'm also an AngularJS GDE. GDE is a Google developer expert, so I was nominated for that. Additionally, did anyone go to to NG Conf? Any NG Conf people? Okay, so I also organize NG Conf. Which is the first the biggest Angular conference. We just announced last week the the new one coming up on March 5th and 6th so we're excited.
[00:04:47] If someone is someone asks a question, I'm not gonna say I don't know, I'm gonna say, If I don't know I'm going to say, we'll write it down and I'll answer after the break. So, can we get someone, a volunteer, to write down questions if I say, can you write it down?
[00:05:04] My man. Okay. So, I'll just look at your and say, "Can you write that down?" Okay. All right. So, Rick Waldron again he curated the slides. Again I was not present in the meetings with the TC39. So Rick who, he's like the father of Johnny-Five which is a library for using JavaScript to talk to NodeBots.
[00:05:28] He's also on the TC39. He works a Boku and he is just all around the guy. He curated the stuff. He showed him my errors. And he gave me insight. He kinda told me some antics about some of the decisions around the features that were made. So I just wanted to give a shout out to Rick.
[00:05:46] He helped out here and he's a good guy. So we're gonna talk about these topics today. We're gonna talk about the history of JavaScript and kinda the steering committee and then we'll talk about new features and then some build tools. And the build tools seems a little bit wild westie still but we're gonna talk about it just to kinda get everyone over the intimidation curve of you don't know where to start so we'll get in and we'll jump into that.
[00:06:10] So I kind of wanted to show off real quick all the features. So this table here is the ES6 compatibility table. And it shows you what browsers support ES6 and which ones don't. So you can see in my current browser, which is Chrome, if you look in this column right here we've got a lot of red.
[00:06:33] So ES6 is still mostly unsupported until you get down to like maths and array prototype stuff. But anyway it's still kind of out there, not a ton of solid support, even the support that is there is inconsistent. And if you guys while I'm gonna show off the inconsistencies I can, but between Firefox and Tracer, there will be inconsistencies and I'll try and talk a little bit about that.
[00:07:03] But as you can see, there's a lot of features here, too much to talk about in one class. Some of these features on their own are an hour long class, and we don't have an hour to give to every subject. So I picked the ones that I think are the ones you guys need to know and if we're going to spend a day talking about it, these are the ones I would want to learn and so that's what we're talking with today.
[00:07:24] But just to kinda give you a comparison, if you click on the ES5 compatibility, this is how compatible everyone is with ES5. So everyone pretty much does ES5 pretty well. It's not, it's just kind of the ES6 stuff that's still being decided and still kind of in the works.
[00:07:43] So, anyway. So when we talk about it. As I teach about it I'm gonna kinda talk about a little bit where they came from. We'll do some examples. We'll try and walk you through all the different uses of the new stuff and then I'm gonna give you guys some time to use it and then I'll come back and I'll give you some suggestions.
[00:08:04] And then we'll come code those live afterwards. I kinda want everyone to get some time practicing the new syntax. So this is, this slide here's where we're gonna spend the rest of our day. We're gonna go through these topics here.