
Explore the visual history of JavaScript and Ecmascript from 1995 to the modern web, and see how NodeJS, Ajax, jQuery, and the V8 engine drive ES6 updates.
Plan your journey through the modular ES6, ES7, and ES8 course, focusing on sections, easy wins, and essentials like let, const, template literals, promises, and async/await.
Validate SQL statements using tagged templates for select or update with where and order by. Implement axios-driven UI that renders coins via templates, using closures, and mocks a DB upload.
Explore ES6–ES8 function updates, including default parameters and the rest operator, with examples of the arguments object and notes on destructuring.
Explore spread syntax and rest operator, showing how rest collects arguments into an array and spread unpacks an array into individual parameters. Apply it to arrays, objects, and reducers.
Master object literals and destructuring in JavaScript, using property shorthand, renaming, nested destructuring, array destructuring, and function parameter destructuring to write cleaner, readable code.
Explore the history and core concepts of JavaScript classes, including why ES6 class syntax is syntactical sugar over prototype inheritance, and how this shapes modern JavaScript design.
Explore how setters and getters manage access to object fields across JavaScript and Java, using private and public modifiers, and understand mutator functions for encapsulation.
Explore how to use array find and findIndex with callbacks to locate the first city whose main.temp exceeds a threshold in weather data, and compare with map.
Discover how the set constructor guarantees unique elements, holds any data type, and maintains insertion order, with practical usage of add, size, clear, delete, and iteration methods.
Weak sets hold only objects, use weak references, rely on garbage collection, are not iterable, have no get method, and size is zero, useful for tagging objects.
Explain what a promise is and why it matters in JavaScript, showing how promises replace callback hell with then, catch, all, race, and the resolve/reject flow.
Explore promise syntax by building a simple promise, understanding the constructor, resolve and reject, and chaining with then, catch, all, and race for asynchronous flows.
const apiKey = `e9ddb24aed6d48c4342303aba5269e28`;
const apiUrl = `https://api.themoviedb.org/3/search/movie?api_key=${apiKey}&query=`;
const imgUrl = `http://image.tmdb.org/t/p/w300/`;
Learn to chain promises for fluent asynchronous programming by replacing callback hell with sequential Ajax calls that fetch movie data, cast, and person details.
Take the program available at the two github links below, and convert it from using promise chains to async/await.
https://raw.githubusercontent.com/ridiculous-inc/jsPromisesAndAsync/master/promisesChained.html
https://raw.githubusercontent.com/ridiculous-inc/jsPromisesAndAsync/master/promisesChained.js
Object.values() and Object.entries(), padding, and trailing commas
Explore the proxy constructor and reflect to intercept and control object operations with traps for get, set, has, construct, and apply, enabling middleware and validation.
Explore Reflect in JavaScript by using Reflect.apply, defineProperty, getOwnPropertyDescriptor, deleteProperty, and proxy traps, and learn how Reflect provides introspection and safe, cleaner object interactions.
Explore generators, iterators, and iterables in JavaScript, and master the for-of loop, while comparing concepts with Python origins and using Mozilla documentation for clear references.
Exponentiation, Includes, and Rest parameter destructuring
If you have spent anytime coding in JavaScript, you have heard about ES6, ECMAScript, or ES2015. Maybe it was an obnoxious co-worker trying to put you down, another Udemy course keeps mentioning it, or you saw it on a Stack Overflow answer. If you're not familiar with it, or are still wondering what the difference is between ECMAScript and Javascript, it's the update that occurred in 2015 and subsequent years. Considering the history of JavaScript (which started in 1995), there was no update between 2000 and 2008, then again after that from 2008 until 2015, ECMAScript 2015 it is a BIG deal. It modernizes JavaScript. Smaller, but still important changes were released in ES7 (2016) and ES8 (2017).
I will take you through all the changes, one at a time in a modular approach. This means that you can do chapters as needed, out of order, etc. without serious issues. There is a significant history lesson in order to place JavaScript and ECMAScript in context and we'll do comparisons to other languages so you get a feel for why certain things were added or changed. I also do frequent comparisons between JavaScript and other languages like C, Java, and Python. You do NOT need to know these languages to appreciate the nuances; they are simply helpful at understanding the reasons behind the ECMAScript standard, JavaScript, and update.
I am still adding challenges for the various sections. Challenges that are already in, are in all caps (i.e., CHALLENGE) and are a great way to apply and practice! This course will challenge your JavaScript as you learn many new features, but also as you learn how JavaScript and ECMAScript relates to other languages (C, Java, etc.).
Course Layout
Intro
ES6 Easy Wins
Classes
Array Changes
Map Constructor and Weak Map
Set Constructor and Weak Set
Promises
ES8 (Async)
Proxy Constructor and Reflect Object
Generators and iterators