Modern JavaScript

143 reviews

last updated 11 months ago


This course is up to date, guaranteed

So you want to learn Modern JavaScript?

Here are some common approaches

Random Blogs

It's not that blog posts are bad, it's that finding and piecing together unrelated yet up to date posts that form a linear, cohesive path to learning complex technical topics is hard.


Things conferences are great for - networking, travelling on your company's dime, free swag, finding other companies to join. Things conferences are not great for - learning in depth technical topics that you will remember and put into practice literally 3 days later when you’re back at the office, quality wifi.

Youtube Videos

It's happened to all of us, one moment you're using Youtube to learn about React's useEffect Hook and the next you're watching a "KIDS REACT TO PAYPHONES" video. Finding a high-quality, up-to-date YouTube video that effectively answers all of your questions on a JavaScript topic might actually be more difficult than finding a needle in a haystack. With so many videos and zero quality control, it’s easy to get sucked down the YouTube rabbit hole for hours without getting much learning out of it.

All-In-One Subscriptions

These are the larger companies that offer courses on seemingly every technology under the sun. We won’t name them, but chances are your company has a business subscription to at least one of them and chances are that you don’t use it much. Their courses are made by a wide assortment of third-party contractors and optimized for production quality, not educational value.

Live Workshops

You know what they say, the best learning happens sitting in a classroom for 8 hours at a time listening to dry lectures and working through practice problems that only serve to make you feel comfortable so you’ll feel like you learned something. Oh wait, no. No one says that.

The better approach?

All our courses follow the same proven structure, optimized for knowledge, not the illusion of learning.


We're obsessed with making the most effective developer education content on the planet. On average, it takes us around 1,900 hours to create a new course. While others prioritize quantity, we optimize for quality.

Non-Contextual Practice

Similar to the non-contextual analysis, context is everything. The first time you're hands-on with a new topic, any extra contextual information you have to process only serves as a distraction. This is why we first have you work through small, focused practice problems before you ever see the new topic in the context of a larger project.

Non-Contextual Analysis

The first time you're introduced to a topic, any extra contextual information you have to process only serves as a distraction. Although it takes more time, our non-contextual analysis comes in two forms, video and text. This way, no matter how you prefer to learn, there's an option for you.

Contextual Practice

You've probably experienced it before, you feel like you're learning so much going through a tutorial only to hit a wall once it's time to actually apply that knowledge outside of the context of the tutorial. All the non-contextual practice in the world is useless if you're not then able to take that knoweldge and apply it towards a (contextual) production level codebase.


Nothing fancy here. After learning about the topic you'll receive a quiz to make sure you have a solid conceptual understanding before moving on to the hands-on practice.

The result?

Modern JavaScript Mastery

The ability to take what you learn and apply it towards a production codebase

  • javascript
  • javascript
  • javascript

This Course

  • 14 Topics
  • 116 Minutes of Video
  • 11,954 Words of Text
  • 14 Quizzes


  • Introduction

    • Introduction, Philosophy, and Tips

    We'll start the course off with some housekeeping items. You'll learn about the best strategy for getting the most out of the course as well as what to expect.

  • Destructuring

    • Object and Array Destructuring
    • (Quiz) Object and Array Destructuring

    In this section you'll learn how you can use Array and Object destructuring to more concisely grab properties from JavaScript data structures.

  • Template Literals

    • Template Literals
    • (Quiz) Template Literals

    In this section you'll learn how you can use ES6's 'Template Literals' to make string concatenation suck less.

  • Compiling vs Polyfills

    • Compiling vs Polyfills with Babel
    • (Quiz) Compiling vs Polyfills with Babel

    In this section you'll learn the difference between compiling your code and polyfilling it as well as why that matters.

  • JavaScript Modules

    • From IIFEs to CommonJS to ES6 Modules
    • (Quiz) JavaScript Modules

    In this section you'll get a history lesson by learning how JavaScript modules used to work in the past as well as how they work today.

  • TC39

    • ECMAScript, TC39, and the Standardization Process
    • (Quiz) ECMAScript, TC39, and the Standardization Process

    In this section you'll learn about the history of JavaScript as well as how the language is constantly evolving via the TC39 committee.

  • Shorthand Syntax

    • Shorthand Properties and Method Names
    • (Quiz) Shorthand Properties and Method Names

    In this section you'll learn how you can use ES6's Shorthand Syntax to make your code more concise and readable.

  • Arrow Functions

    • Arrow Functions
    • (Quiz) Arrow Functions

    In this section you'll learn what Arrow functions are, how to use them, and how they're different from regular JavaScript functions.

  • Async JavaScript

    • Callbacks, Promises, Async/Await
    • (Quiz) Callbacks, Promises, Async/Await

    In this section you'll take a step back in time to learn how the way we manage asynchronous JavaScript code has changed from Callbacks, to Promises, to Async/Await. Along the way you'll learn how to use all three as well as their tradeoffs.

  • Class Fields

    • Private and Public Class Fields
    • (Quiz) Class Fields

    In this section you'll learn how to utilize JavaScript's new Class Fields feature to make your Classes more concise.

  • Variable Declarations

    • Variable Declarations (var vs let vs const)
    • (Quiz) Variable Declarations

    ES6 introduces two new ways to create variables, let and const. In this section you'll learn the difference between var, let, and const and when to use them.

  • Computed Property Names

    • Computed Property Names
    • (Quiz) Computed Property Names

    In this section you'll learn how you can use ES6's 'Computed Property Names' to have an expression (a piece of code that results in a single value like a variable or function invocation) be computed as a property name on an object.

  • Default Parameters

    • Default Parameters
    • (Quiz) Default Parameters

    In this section you'll learn how you can leverage ES6's 'Default Parameters' to set the default value of a function's parameter if one is not given when the function is invoked.

  • Classes

    • Guide to JavaScript's prototype (and ES6 Classes)
    • (Quiz) Guide to JavaScript's prototype (and ES6 Classes)

    In this section you'll learn all about ES6 Classes by looking at how Classes work under the hood with the Prototype Chain.

  • Next Steps

    • Next Steps

    In this section you'll learn the next steps you need to take in order to cement everything you've learned in the course.

  • Hype

    Another amazing course from Tyler. It amazes me how he can break down complicated problems into easy to understand chunks. Not very often I actually finish a course, but I've completed 2 from Tyler now

    Charlie Hewis

    A really helpful and thorough explanation of current syntax and patterns with historical context. For me, as a faily new javascript developer, it was incredibly useful to see the timeline of syntax such as the class keyword and imports/exports since many google search results have a mixture of old and new style code. This course helped me to easily understand which is which. I appreciate the repetition of key ideas throughout, and the analysis of why a particular pattern was added and what issues it resolved.

    Tyler's courses are one of a kind. The Modern Javascript course was very detailed. The perfect mix of theory and hands-on training.

    Modern JavaScript serves not only as a much needed course for React Developers but also as an essential training for any JavaScript developer.

    This course was amazing. I feel like I just became a better programmer after taking this course. I am very confident that I can write a cleaner code that is so much more simple and readable. I strongly suggest taking this course to any programmers out there. Great course. Thank you very much Tyler!

    This course was fantastic at helping me fill in gaps in my knowledge and truly understand some of the concepts that I had been using "in the dark" without full comprehension. Easy to understand, and very well explained.


    I finally understand destructuring, class properties, let & const, etc. Refactoring my own code was an amazing way to learn and practice ES6

    Rich Everts

    I’ve created React.js production apps for some of the biggest companies in the world as well as thriving startups, and I STILL got a few great tips out of the course. I’ll make the cost back in no time. Thanks Tyler!


    Probably the best content you can find today if you want to have a solid knowledge about the subject

    Ibrahem khalil

    Tyler is the best instructor I have ever seen. Explains in ways that are unmatchable. He finds a problem that people experienced back then, then helps you find its solution. That’s what I call learning.

    Finally, a site that has incredibly high quality courses, chalk full of useful and well thought-out information, and it's even easy to follow along! Well worth the subscription price, Tyler is an awesome teacher. Can't wait to go on to the others!

    The content of this course is truly outstanding! I love the approach that Tyler takes in teaching - starting from basic concepts and digging deep into problems alongside understandable examples. Breaking complex concepts into smaller pieces really helps in wrapping your head around the bigger picture. Thank You Tyler!

    Master Modern JavaScript today


    What makes these courses different from other online courses?

    Our courses are designed to teach you everything you need to know to confidently write production-ready code. The tradeoff is it will require more work and focus than a course that features a few bite-sized screencasts. Real learning takes time, but you can feel confident that once you've finished a course, you’ll have mastered everything you need to know with minimal knowledge gaps.

    In which order should I take the courses?

    If you're comfortable with JavaScript (including ES6) and want to jump straight to React, go with "React", "React Hooks", then any other course that looks interesting. If you're not comfortable with JavaScript, start with "Modern JavaScript", then "Advanced JavaScript", then any other course you'd like.

    I need an official invoice with certain fields like VAT. Can I get one?

    Once you sign up, as part of the welcome email, you'll be given a link to fill out where you can input all your company's info.

    Do the courses have captions?


    What level of experience is required for getting the most out of these courses?

    A fundamental understanding of JavaScript or familiarity with another programming language. For example, you should be comfortable with functions, arguments, loops, control flow, etc. If you want to jump straight in to the React courses, we recommend having a stronger knowledge of JavaScript, which you can get from our JavaScript courses if you’re unsure.

    What projects will I build throughout the courses

    You can find every project on the /projects page.

    How long should I expect each course to take?

    Naturally, it depends. Considering all our courses are comprised of video, text, quizzes, practice problems, and curriculum - 15-30 hours per course is a safe assumption.

    How does the subscription work?

    Like Netflix. You pay $40 per month or $350 per year for access to all our courses, premium newsletters, and events. Your subscription will be active until you cancel, which you can do at any time in your dashboard.


    143 Reviews

    • Clarissa Gayton
      39 days ago

      What a gem! I've just completed a bootcamp and have been studying on my own for quite some time now. I spent a few weeks doing research on the best online courses to take that would solidify the knowledge I already have and I'm sad to say I didn't find Tyler McGinnis earlier. But, I'm pleased and excited to say that I now have a grasp on all things JS that I struggled with like understanding JS Modules, prototypes, and classes. I cannot wait to dive into his other courses.

    • FR
      Fadi Rezq
      52 days ago

      Good start on any Advanced JS road that you want to take.

    • XL
      Xin Li
      2 months ago

      The content of the course is really great, the way a topic is explained is very clear, I appreciate the effort been put into it. However, I think it would be nicer if there could be some coding exercises for each lesson.

    • Inga
      2 months ago

      Great and full of interesting nuances!

    • KP
      Khoa Pham
      2 months ago

      Thanks Tyler for the very concise and interesting course !

    • S
      2 months ago

      learned alot about the overall aspects of modern javascript in depth.

    • Beni Sinca
      2 months ago

      Last couple of years I was stuck in developing Magento ( PHP ) - that made me feel insecure when I simply tried to develop an APP or a PWA website. Heck, I wasn't even sure of the best practices in javascript, as I mentioned because of Magento I was dealing with mostly knockout JS or jQuery. But this course quickly helped me to deconstruct all the bad habits that resulted in writing polluting code. Thank you so much for this!

    • JA
      Jorge Asuaje
      3 months ago

      Great course, easy to follow and understand

    • BS
      B Shean
      3 months ago

      This thoughtful exposition of major changes to the javascript language while providing context and motivation to those changes.

    • IN
      Ilya Nechiporenko
      3 months ago

      Very good. Clear, comprehensive. I'd recommend this course to every programmer who would like to build a more solid understanding of how the internals work of Javascript work