Learn ES2015 Programming Principles by Darin Haener on SitePoint
This course was extremely helpful for me back when I completed it in July 2017 and happened to be at my current level of familiarity with JavaScript at the time. That is to say, it assumed quite a bit of knowledge of JavaScript ES5 overall, and as usual for a SitePoint course, it got right to the point without explaining any “beginner” JS concepts. So it’s not the most appropriate for JavaScript beginners, but if you’re looking for a course on ES6/ES2015, it’s probably safe to presume that you know JavaScript fairly well, in which case this would be a good fit.
But before I start raving about the course, because it definitely deserves that, probably one of the biggest cons to the course is the way in which the instructor writes code. Instead of writing “complete” mini programs that you should run, whether through your browser or a site like JSBin, the instructor simply writes out “concept” statements one after another and offers only brief verbal explanations for some of them. Most of the time, the instructor doesn’t even run the code that he’s writing, and more often than not, he also expects the viewer to understand the gist of the code as he writes it, which of course not everyone will do. Additionally, a fair bit of knowledge about object-oriented programming is assumed when he starts covering classes. That is to say, anyone who isn’t already familiar with classes will likely get lost very quickly once he starts covering how to implement them in ES6.
Apart from those drawbacks, this is simply a fantastic course that covers ES6 in most of the important ways (though not all of them), from creating & using modules, to using ‘let’ and block scoping, to using arrow functions, and of course creating classes, among a few other topics. One of the topics covered in this course that I hadn’t seen anywhere else before was creating getters & setters for classes in ES6, which was certainly a unique approach. It was little things like that which ultimately led to me feeling like this course was just what I needed in order to better understand ES6 and what it can do.
Conclusion: A fairly well-rounded course on ES6 that’s best suited for intermediate-level (at minimum) JavaScript ES5 programmers who also have a solid foundation in a traditional object-oriented language like C++, Java, or Python. Highly recommended if that describes you, but if not, there are probably more accessible courses on ES6 out there.
Rating: 3 out of 5 (-2 for the instructor’s lack of pedagogy)