- [Instructor] So, you need to learn JavaScript or upgrade your existing knowledge of JavaScript or you need to understand a specific type of JavaScript for some specific job, and you go online to look for what you should learn next and you are inundated with answers like, you should learn TypeScript, no, JSX, no, ES2015, ES6, ESNext, no, maybe you should learn React, no, Angular or Vue or Preact, perhaps, or something else. And you kind of step back and go whoa, what, I just thought I was learning JavaScript, what is all this stuff? So, to understand this we need to roll the clock back a bit. So way back in the days, so a couple years ago, we had JavaScript and then we had a bunch of JavaScript libraries. So JavaScript is the core language that runs in the browser, then we can instruct the browser to do stuff with this, the scripting language for the browser. The libraries made it possible to write JavaScript in an easier way, so we had things like Kube, jQuery, and MooTools, that allowed us to write simple syntax that would then get converted into JavaScript that would then be used by the browser. Now that was then, things have changed a bit, so first of all, we have this term ECMAScript, which is usually referred to as ES and then some numbers, so there used to be ES6, which is now called ES2015, then we have further versions of it, and these are the next generations of JavaScript. And ES2015, which is the current latest standard that we can actually use in browsers, has adopted a lot of the functionality from these libraries like jQuery into itself to make it easier to write JavaScript. Now, if you are learning JavaScript today, that's what you should be focusing on, is learning JavaScript Quorum, and also ES2015 because that's the latest standard, it does all the cool stuff you want to do. All the other things I was talking about are abstraction layers that sit on top of JavaScript, at different levels. So for example, TypeScript is an abstraction layer on top of JavaScript that makes JavaScript a typed language, so by default, if you declare a variable or a let or a const, you can put any value inside it, a number or a string or an array or an object or whatever. JavaScript doesn't care. TypeScript allows you to then type that data, to say this variable has a string inside it, and then you can run tests to see if that is in fact a string or not, so it makes JavaScript, which is a very loosely typed language into a strictly typed language. And it's used by a lot of extensions and frameworks because those frameworks require you to write proper valid JavaScript, and you can't have strings that suddenly turn into numbers for no reason or something like that. So, that's TypeScript, which is useful in some circumstances, and for some people who are coming from other languages can be very useful because it just makes it easier to write JavaScript if you're used to typed languages, and it does some other stuff too, but that's the basic core of it. Now, these other things I'm talking about, so Angular and React and Vue are JavaScript frameworks that are designed to allow you to write JavaScript applications that run on the client side in the browser. So that means when someone goes to a website, they download an application that then runs inside the browser window or the viewport as an application and then pulls that off the internet. And React, Angular, Vue, and some other ones are pretty much the same thing, they just do things very differently, and they're all trying to compete on who's the best one and who should have the biggest market share. Now, the reason why people are saying, you should learn React or Angular or Vue or something else, immediately is because currently the trend in web design and development is to create applications, so-called single page applications that are running on one of these frameworks. So it's tempting to start there, say I want to learn React, or I want to learn Angular, or I want to learn Vue. The problem is, if you don't understand how JavaScript works at a fundamental level, it'll be very hard to work with these frameworks because you won't understand why things are happening, they are abstraction layers that sit on top of JavaScript, so knowing JavaScript syntax and how JavaScript works is important. Now JSX is also this abstraction version of JavaScript that works with some of these frameworks, which makes things even more complicated, and then you have Preact, which is a thing that works, kind of plugs into these frameworks, and abstracts it even more, so there's a bunch of stuff going on, but the bottom line is, on the bottom of this stack of abstraction layers is JavaScript. That's what you need to know first. Having a fundamental, solid understanding of JavaScript makes all the other stuff usable in a way that it will never be unless you have that. So if you're starting out, or if you want to beef up your skills, first start with JavaScript, and understand JavaScript and ES2015. Then you can extend into these other abstractions. If you start and go the other way around, you'll never fully grasp what's going on, or you'll only fully grasp it once you get down to the bottom and start working with JavaScript, and that might be too late. So, what should you learn first? The answer is always JavaScript.
Updated
4/1/2019Released
5/17/2017Through practical examples and mini-projects, this course helps you build your understanding of JavaScript piece by piece, from core principles like variables, data types, conditionals, and functions through advanced topics including loops, closures, and DOM scripting. Along the way, you will also be introduced to some ES6 and the basics of JavaScript libraries.
- What is JavaScript?
- Working with data
- Using functions and objects
- Working with JavaScript and the DOM
- Changing DOM elements
- Handling events
- Working with loops
- Making images responsive using markup
- Troubleshooting code
- Validating functionality
- Minifying JavaScript
Share this video
Embed this video
Video: What do I learn first? JavaScript? TypeScript?