1 00:00:00,210 --> 00:00:02,070 - In this video, I'm gonna be briefly talking 2 00:00:02,070 --> 00:00:04,650 about what TypeScript is, and then I'll be talking 3 00:00:04,650 --> 00:00:06,600 about how you can get the most out of this course, 4 00:00:06,600 --> 00:00:08,160 as well as what this course is actually going 5 00:00:08,160 --> 00:00:10,110 to teach you about TypeScript. 6 00:00:10,110 --> 00:00:12,630 So to get started just talking about what TypeScript is, 7 00:00:12,630 --> 00:00:15,450 simply, TypeScript is just normal JavaScript 8 00:00:15,450 --> 00:00:17,310 but with types added on top of it. 9 00:00:17,310 --> 00:00:18,690 And these types are just a way 10 00:00:18,690 --> 00:00:21,570 of you defining what your actual code structure looks like. 11 00:00:21,570 --> 00:00:22,650 So what your variables are, 12 00:00:22,650 --> 00:00:25,230 are they strings, numbers, objects, and so on. 13 00:00:25,230 --> 00:00:28,260 And this information allows you to detect different bugs, 14 00:00:28,260 --> 00:00:30,900 gives you good auto complete, and other nice features. 15 00:00:30,900 --> 00:00:32,580 The really important thing to know about TypeScript 16 00:00:32,580 --> 00:00:35,070 is that your browser can't actually run TypeScript. 17 00:00:35,070 --> 00:00:37,800 That's because browsers can only run JavaScript. 18 00:00:37,800 --> 00:00:40,440 So in order to get your browser to run TypeScript code, 19 00:00:40,440 --> 00:00:43,620 what happens is TypeScript compiles all your TypeScript code 20 00:00:43,620 --> 00:00:45,270 down to JavaScript. 21 00:00:45,270 --> 00:00:46,860 That way you can actually run your code. 22 00:00:46,860 --> 00:00:49,110 And all that this process does is remove all 23 00:00:49,110 --> 00:00:51,780 of the type information that TypeScript uses. 24 00:00:51,780 --> 00:00:53,160 This also means that TypeScript 25 00:00:53,160 --> 00:00:55,838 is technically a super set of JavaScript. 26 00:00:55,838 --> 00:00:58,350 All that means is that everything that is valid 27 00:00:58,350 --> 00:01:00,840 in JavaScript is valid in TypeScript. 28 00:01:00,840 --> 00:01:02,910 If you take a normal JavaScript file 29 00:01:02,910 --> 00:01:04,680 and change it to a TypeScript file, 30 00:01:04,680 --> 00:01:06,690 all of the code in that JavaScript's file 31 00:01:06,690 --> 00:01:08,730 is 100% valid TypeScript. 32 00:01:08,730 --> 00:01:11,370 You can actually use JavaScript inside your TypeScript code 33 00:01:11,370 --> 00:01:13,020 and it's going to work just fine. 34 00:01:13,020 --> 00:01:15,810 TypeScript just adds additional things on top of JavaScript, 35 00:01:15,810 --> 00:01:18,180 which this course is going to cover in depth. 36 00:01:18,180 --> 00:01:20,250 Now, kind of speaking about what this course covers, 37 00:01:20,250 --> 00:01:21,540 there's two different types 38 00:01:21,540 --> 00:01:23,280 of TypeScript developers out there. 39 00:01:23,280 --> 00:01:25,080 There are the people that use TypeScript. 40 00:01:25,080 --> 00:01:26,370 These are your normal developers 41 00:01:26,370 --> 00:01:28,350 creating web applications every day. 42 00:01:28,350 --> 00:01:31,410 And then there are people that write code in TypeScript. 43 00:01:31,410 --> 00:01:33,090 And these may sound like the same thing 44 00:01:33,090 --> 00:01:34,500 but the people that actually write code 45 00:01:34,500 --> 00:01:36,720 in TypeScript are people that are specifically creating 46 00:01:36,720 --> 00:01:39,090 like libraries for other developers to use 47 00:01:39,090 --> 00:01:40,800 that are written in TypeScript. 48 00:01:40,800 --> 00:01:42,330 These people that write in TypeScript, 49 00:01:42,330 --> 00:01:44,850 these library developers need to understand TypeScript 50 00:01:44,850 --> 00:01:46,620 at an incredibly in-depth level 51 00:01:46,620 --> 00:01:48,270 and they need to know some of the most niche 52 00:01:48,270 --> 00:01:50,220 and complex features of TypeScript in order 53 00:01:50,220 --> 00:01:53,580 to write out the complex types needed by these libraries. 54 00:01:53,580 --> 00:01:55,050 But in order to use TypeScript 55 00:01:55,050 --> 00:01:57,780 in a normal web developer job, you don't actually need 56 00:01:57,780 --> 00:02:00,090 to know that crazy level of in-depth TypeScript. 57 00:02:00,090 --> 00:02:02,340 So this course is not going to teach you the skills you need 58 00:02:02,340 --> 00:02:04,470 to know to build out libraries in TypeScript 59 00:02:04,470 --> 00:02:06,870 that are gonna be used by millions of different developers. 60 00:02:06,870 --> 00:02:08,850 Instead, I'm gonna be teaching you the skills you need 61 00:02:08,850 --> 00:02:11,070 to actually land a job as a web developer. 62 00:02:11,070 --> 00:02:12,930 And the reason for that is because that skillset 63 00:02:12,930 --> 00:02:14,910 is much smaller, much easier to understand 64 00:02:14,910 --> 00:02:16,950 and honestly, if I teach you everything there is to know 65 00:02:16,950 --> 00:02:19,560 about TypeScript, odds are you're only going to use maybe 10 66 00:02:19,560 --> 00:02:20,610 to 20% of it. 67 00:02:20,610 --> 00:02:22,110 So I'll be wasting your time by teaching you 68 00:02:22,110 --> 00:02:23,970 all those other concepts. 69 00:02:23,970 --> 00:02:25,650 Now, with that said, don't think that this course 70 00:02:25,650 --> 00:02:27,570 is gonna be super small or a push over. 71 00:02:27,570 --> 00:02:29,820 It still has a lot of really important information in it 72 00:02:29,820 --> 00:02:31,830 and these are the TypeScript skills you need, like I said, 73 00:02:31,830 --> 00:02:33,900 to land a job as a TypeScript developer, 74 00:02:33,900 --> 00:02:36,210 which is really the most important thing. 75 00:02:36,210 --> 00:02:37,830 Now, in order to get the most out of this course, 76 00:02:37,830 --> 00:02:40,410 I highly recommend going through each video rather slowly 77 00:02:40,410 --> 00:02:42,630 and making sure you understand every concept and go 78 00:02:42,630 --> 00:02:44,550 through different exercises and practice each 79 00:02:44,550 --> 00:02:46,650 of the concepts as we go because everything 80 00:02:46,650 --> 00:02:48,990 in this course builds upon the previous concepts. 81 00:02:48,990 --> 00:02:51,030 So you need to have a good foundation before you can move on 82 00:02:51,030 --> 00:02:53,280 to the later concepts in this course. 83 00:02:53,280 --> 00:02:55,710 Also, after you're done with this course, it's structured 84 00:02:55,710 --> 00:02:57,090 in a way that's really good for you to be able 85 00:02:57,090 --> 00:02:58,800 to come back to and actually reference 86 00:02:58,800 --> 00:03:00,060 when you're at your first job 87 00:03:00,060 --> 00:03:01,950 or if you're just trying to build a project in TypeScript 88 00:03:01,950 --> 00:03:03,600 and you're confused on how to do something, 89 00:03:03,600 --> 00:03:05,100 this course is structured in a perfect way. 90 00:03:05,100 --> 00:03:06,030 You can just come back, 91 00:03:06,030 --> 00:03:08,550 find the video on the specific topic you want, watch it. 92 00:03:08,550 --> 00:03:09,660 It'll be relatively quick 93 00:03:09,660 --> 00:03:10,830 and that'll give you the skills you need. 94 00:03:10,830 --> 00:03:12,810 So it's a really great reference point for you instead 95 00:03:12,810 --> 00:03:15,030 of having to reference something like documentation. 96 00:03:15,030 --> 00:03:16,890 Now, the last thing I wanna say about this course 97 00:03:16,890 --> 00:03:18,930 is that you obviously need to have a good understanding 98 00:03:18,930 --> 00:03:21,990 of JavaScript in order to actually learn and use TypeScript. 99 00:03:21,990 --> 00:03:23,880 But the good news is is that learning TypeScript 100 00:03:23,880 --> 00:03:25,980 is much easier than learning JavaScript. 101 00:03:25,980 --> 00:03:27,060 So hopefully, you're able to go 102 00:03:27,060 --> 00:03:28,530 through this course rather quickly 103 00:03:28,530 --> 00:03:29,910 and rather easily compared 104 00:03:29,910 --> 00:03:31,590 to the process of learning the entirety 105 00:03:31,590 --> 00:03:34,140 of JavaScript because that is incredibly difficult.