@TechWithTim

GET MY FREE SOFTWARE DEVELOPMENT GUIDE👇
https://training.techwithtim.net/free-guide

@Hollowendz

I've been a professional software engineer for two and a half years and wanted to learn more about typescript. This course was pretty amazing. You described things well and gave great examples.

@halilsmith8162

didnt watch your videos for almost 2 years now but you're strong as ever and still the best explainer in terms of coding. Love you bro keep going

@garrettsmith315

Glad to see you go back to the long tutorial style content. This is what got me started with your channel.

@bertustenhoor9416

around 1:34:00, the default value for middlename being "middle" doesn't exactly make it optional. it assigns a default value to middlename if no middlename is supplied to the arguments of the  function. "Don" and "Johnson" for firstname and lastname respectively will result in :"Don Middle Johnson"..quite a different outcome

@ahmedthebest

I really appreciate all of your hard work I really love your videos 
Keep up the good work

@sanjayr3467

Covered most of the concepts, Thanks Tim!

@KrishnaGurram-yr4zf

Simple and sleek explanation with great examples. Thank you !

@patrickmateus-iq8bi

I swear, it's almost as if you can read my mind. Can't wait to binge this.❤🔥

@ArseyTech

I do love your style, always motivated me, and you my role model, i'm building a school management system and my stack is React + Typescript and Django. Thanks to all your videos i'm progressing

@foootballevents

I love your calmness.

@charmingscenery309

2:49:12
what i am thinking is it will always execute if block becaus isDog function alsways return true regardless of passing Cat or Dog? am i right to think this?
is the followning code of typescript right for type guard functionality :

class Dog{
firstName: string;
lastName: string
constructor(firstName: string, lastName: string){
this.firstName = firstName
this.lastName = lastName
}}
class Cat{
firstName: String;
constructor(firstName: String){
this.firstName = firstName
}}
function isDog(pet: Dog | Cat): pet is Dog{
     return (pet as Dog).lastName != undefined
}
function getName(animal: Cat | Dog){
if (isDog(animal)){
console.log("the name is: " , animal.firstName, " ", animal.lastName)
}
else{
console.log("the name is : " , animal.firstName)
}

@FreeFormTalks

1:11:04 It is not type assertion but rather type guard which is used at 1:11:15. Just so that terms are clear. Thank you for explaining everything in detail btw. 👍

@AfzalHossan21

Best course I ever seen. Highly recommend.

@Michel-gv1sr

1h13: thats not a type cast, its a type assertion. It jusy says to typescript, treat this as a string without doing any casting. 
Also, u better not use 'var' unless u have a good reason to do so.

@foqsi_

I've only just started the video, and I am very curious as to which keyboard you're using. It sounds so nice.

@alighasemi1015

Perfect ❤❤

@tpecca1995

Looking forwards to the golang version of this. Thanks Tim!

@carsongutierrez7072

This is great! Mentor Tim!

@useronetwothree-z6f

i love these tutorial videos, are you gonna do more tutorial video, love the efforts+edit+time