TypeScript 3 Fundamentals, v2 Introduction
This course has been updated! We now recommend you take the TypeScript Fundamentals, v3 course.
Transcript from the "Introduction" Lesson
>> Mike North: First, let me introduce myself, my name is Mike. And I work at LinkedIn, where two things I do make me a great person to talk to you about TypeScript. Number one, I run the developer training program, so I am a workshop instructor for the company. Where I help level up all of all of the engineers there, in a various array of topics, including TypeScript.
[00:00:25] And number two, I am a tech lead on the front-end stack, where I predominantly focus on TypeScript adoption, right? On making it so that if teams wish to use TypeScript with their project, everything works smoothly, and the documentation tools work, and all of the linting works nicely. So I have been knee-deep in this area, and I'm so happy to be here to share a lot of what I've learned with you.
[00:00:57] So first, before we jump in, and we're gonna get our hands dirty really quickly here, within about 10 minutes. Let's first pin down exactly what TypeScript is, so we know what to expect. So it's an open-source programming language, primarily, it's maintained by a core team of developers at Microsoft.
[00:02:24] But when you have that build that you're sending to your users, or that you're running in Node.js? Unless you do some really exotic backflips, none of that type-checking is there. And that's good in some ways, and that's bad in other ways. It's good in that there's no cost at runtime, right, it's not gonna slow your app down.
[00:03:20] So the project kinda has three things inside of it. There's the programming language itself, there's the language server. Which is a program that kind of feeds your text editor a lot of great information that can manifest itself in auto-completes and tool tips, as you hover over various things.
[00:04:52] You don't have to worry about, how does TypeScript represent a class for Internet Explorer? How does Babel represent it, and is there gonna be a collision there, so you can have a great assurance of consistency. And almost think of the TypeScript compiler as a really fancy linter, or another static analysis tool that just kind of verifies that everything looks good, but doesn't actually produce output.
[00:05:19] So since I taught the last version of this course for Frontend Masters, which was in 2017, we've seen a 300% increase in downloads. And we can see, this is a monthly download graph on the bottom. We can see that it's basically matched React, in terms of popularity and prevalence of use.
[00:06:08] And if you look at all of the packages in NPM, over 40% of them declare TypeScript as a dependency or devDependency. So you're probably using it, even if you don't think you're using it. You're using something that's written in this typed language, and depending on that type-checking. And potentially, you could take advantage of that type information.