TypeScript Generics are EASY once you know this

Поділитися
Вставка
  • Опубліковано 9 чер 2024
  • 👉 NEW React & Next.js Course: bytegrad.com/courses/professi...
    Hi, I'm Wesley. I'm a brand ambassador for Kinde (paid sponsorship).
    👉 Add authentication to your app FAST: bit.ly/3QOe1Bh
    👉 NEW React & Next.js Course: bytegrad.com/courses/professi...
    👉 Professional JavaScript Course: bytegrad.com/courses/professi...
    👉 Professional CSS Course: bytegrad.com/courses/professi...
    👉 Discord: all my courses have a private Discord where I actively participate
    🔔 Email newsletter (BIG update soon): email.bytegrad.com
    ⏱️ Timestamps:
    0:00 Example 1
    4:11 Example 2
    6:58 Example 3 (multiple type parameters)
    9:23 React example
    13:31 Extracting type
    15:25 State setter function
    17:08 'extends'
    18:54 Inference vs specifying yourself
    #webdevelopment #programming #coding

КОМЕНТАРІ • 187

  • @jotasenator
    @jotasenator 8 місяців тому +86

    I was avoiding generics for a while for no reason, now, finally I will avoid it with a reason

    • @patfre
      @patfre 8 місяців тому +18

      And now employers are gonna avoid you for a reason

    • @jotasenator
      @jotasenator 8 місяців тому +11

      @@patfre auch! was a funny way to say the content is great and well explained but still generics are hard and verbose no matter what. Will be healthy a pole to show how many devs use generics in his job. Also if an employer doesn't select you because you don't use a specific content, well, that is not the place.

    • @patfre
      @patfre 8 місяців тому +2

      @@jotasenator the whole point of generics is the make thing generic, they are very helpful in making things type safe especially with how much TS allows you to do, I just used it today to make my code simpler and cleaner and not be 100 lines of repeated code. Also the thing about companies is they want safe and reliable code that follows best practices a lot so they can absolutely deny you for something like this if your 100% not willing to follow their practices with the code

    • @PlerbyMcFlerb
      @PlerbyMcFlerb 7 місяців тому

      ​@@jotasenatormight as well just avoid typescript while you're at it. Generics are what allow effective code reuse and sound typing to coexist

    • @jotasenator
      @jotasenator 7 місяців тому +1

      @@PlerbyMcFlerb the thing is I do use typescript, but never generics, in react.js and vue.js and next.js. I was watching this video because all the contents in here are explained in a way I like, still, don t see generics in the feature for me. Not saying I am against them, just I didn't find myself in a position saying: well, is time for generics...

  • @timlind3129
    @timlind3129 8 місяців тому +80

    Honestly - this is probably the best description / example I've seen yet! Keep it up!

    • @ByteGrad
      @ByteGrad  8 місяців тому +2

      Thanks, will do!

    • @user-ie7md3mm6x
      @user-ie7md3mm6x 8 місяців тому

      agree 100%

    • @mblackritter
      @mblackritter 4 місяці тому

      I've also to *SUPER AGREE* - it's like *finally* someone really explained how it works - instead of talking plain code! 😻 haha 😹💦

  • @ashishboora3049
    @ashishboora3049 6 місяців тому +15

    I am react developer and never used typescript, just out of curiosity started watching it. Now i am suddenly feeling like i know complete Typescript.
    I mean how well you explained it, i can understand every second of this video. This is really some next level teaching skill.

  • @xReDxTuRtLeZx
    @xReDxTuRtLeZx 8 місяців тому +8

    thanks for the clarity. you are great at explaining concepts, your vids have objectively made me better at TS and feels great when i manage to remember parts of vids when i encounter scenarios on my projects

  • @tomisadone1145
    @tomisadone1145 6 місяців тому +6

    Spectacular video, had it open in a side tab for a month and I can't regret more not watching it before. Clearest explanation I've seen in a while

  • @MrBrandenS
    @MrBrandenS 8 місяців тому +11

    Wow this video shed a ton of light on some of the confusing pieces around generics for me. The content was so well put together and with the real life example with usages in react itself it really drove the point home from your early examples of generic benefits and when ti use them. Amazing way to teach these concepts. Thanks! Subscribed.

  • @fisayowatti7208
    @fisayowatti7208 8 місяців тому +6

    "Hopefully this helps you out a little bit with generics". No sir! This helped me out a ton!

  • @IrfanIdris
    @IrfanIdris 8 місяців тому +6

    I never realised generics are that simple to explain. Simply great! 👍🏽

  • @bcb3548
    @bcb3548 3 місяці тому +1

    As someone who has been anxious even when seeing cryptic type notations, this lesson is almost like a therapy session. For me, adding just after writing the function name make sense than coming back to it after annotating arguments. It reads like "this function / class is meant to work with these types".. Thank you!

  • @xi_red4936
    @xi_red4936 8 місяців тому +2

    This is hands down the best explanation I've ever seen on type Generics. Thank you soo much!

  • @fluntimes
    @fluntimes 5 місяців тому +1

    I agree, this is the best explanation of generics I've encountered. Makes them seem easy, so your video description is on point!

  • @lil10dot
    @lil10dot 7 місяців тому +1

    the way you explain is so clean and concise

  • @patriciogesualdi7472
    @patriciogesualdi7472 6 місяців тому +2

    I really like the emphasis on the relationship aspect, great video!

  • @Harduex
    @Harduex 8 місяців тому +1

    Very clean and comprehensive tutorial, keep up the good work 🙌

  • @RegisZaleman
    @RegisZaleman 7 місяців тому +1

    Well done. It is one of the best explanations of generics I have heard. From super simple to using it in React. Really good. Got my sub!

  • @ByteGrad
    @ByteGrad  8 місяців тому +8

    My Professional React & Next.js course is OUT NOW now! Find it here: bytegrad.com/courses/professional-react-nextjs -- this is the #1 resource to master the latest React & Next.js, my absolute best work.

  • @sofianesaid226
    @sofianesaid226 Місяць тому +1

    easier than I thought now after watching your video, thank you very much!

  • @tblancog
    @tblancog 8 місяців тому +1

    I really liked the way you explain such a complex topic like this one, you got a new subscriber. Thanks!

  • @raheelafzal5406
    @raheelafzal5406 8 місяців тому +1

    it was the best of the best explanation i have seen. did not understand the generics, but now it all making sense. HUGE THANKS BRO

  • @HeyNoah
    @HeyNoah 8 місяців тому +1

    Awesome tutorial!! Super easy to follow! Thanks a mill!

  • @saiphaneeshk.h.5482
    @saiphaneeshk.h.5482 8 місяців тому +2

    Damn, it feels difficult but you can no where find these kind of basic knowledge which you'll only get from experience.
    Thanks allot.

  • @grottogg4758
    @grottogg4758 8 місяців тому +2

    Thanks for all your hard work, extremely helpful teacher!

  • @uvaishassan
    @uvaishassan 8 місяців тому +3

    This is the best video on generics I have watched so far. Was really struggling with understanding generics but this helped a lot. Explaining in terms of relationship between arguments and return type was brilliant

    • @ardianhotii
      @ardianhotii 8 місяців тому +1

      I think the same too , best video for generics , again thank you so much @ByteGrag for these awesome videos

    • @ByteGrad
      @ByteGrad  8 місяців тому

      Great to hear!

  • @ryanwoods3333
    @ryanwoods3333 8 місяців тому +1

    really enjoy the typescript/react content thank you!

  • @grzegorzpaprzycki2547
    @grzegorzpaprzycki2547 8 місяців тому +1

    You explain hard topics very clearly. Keep going like that ❤

  • @mkaufmandev
    @mkaufmandev 2 місяці тому +1

    Excellent tutorial packed with valuable information and reasoning.

  • @adhy612000151
    @adhy612000151 Місяць тому +1

    Thanks For your explanation about Generic, Wesley!!!! Great tutorial!

  • @mohamed_mahran
    @mohamed_mahran 6 місяців тому +1

    Thank you mate!
    The video was on point. Finally I got a understanding in generics.

  • @pastuh
    @pastuh 8 місяців тому +2

    If the React/Next.js course were explained like this, it would be amazing.

  • @ALI-se4ph
    @ALI-se4ph 8 місяців тому +1

    your channel is great for junior devs who already know javascript and got job but they need more tricks and knowledge to become a better developer

  • @mervinmarias9283
    @mervinmarias9283 8 місяців тому +1

    I don't even use TypeScript, but after this video I actually understand how to use generics.

  • @cypherop2608
    @cypherop2608 5 місяців тому +1

    best explanation on generics so far

  • @ethaneth6481
    @ethaneth6481 6 місяців тому

    In practice defining theme just as a string makes more sense, but I got your point, good tutorial

  • @user-ie7md3mm6x
    @user-ie7md3mm6x 8 місяців тому +1

    You totally nailed it! I've read docs couple times and yet still didn't get full understanding, but now... thank you man!

    • @ByteGrad
      @ByteGrad  8 місяців тому

      Great to hear! :)

    • @user-ie7md3mm6x
      @user-ie7md3mm6x 8 місяців тому +1

      @@ByteGrad great explanation, keep up the good work

  • @PaulnJenna
    @PaulnJenna 5 місяців тому +1

    Amazing! I was confused before watching this. Great explanation!!

  • @user-zd1dt7tz1u
    @user-zd1dt7tz1u 6 місяців тому +1

    This was such a good explanation. I was always wary of generics, but no longer!

  • @heitorpaulo5403
    @heitorpaulo5403 8 місяців тому +1

    Wow! Finally...The relationship tip was the key to understand generics for me.

  • @nurlanshukurov3864
    @nurlanshukurov3864 8 місяців тому +1

    This is the best Ts generics video I've seen so far. Please, make video about mapped types and keyof keyword also. 👑

  • @huykyoby1059
    @huykyoby1059 8 місяців тому

    Thank you, Can I ask what extension you are using that it suggests when you code?

  • @matan1147
    @matan1147 8 місяців тому +1

    Great video!
    loved your explanations 🔥

  • @gregplittjunior8313
    @gregplittjunior8313 6 місяців тому +1

    Kind of clear explanation, bravo 👏

  • @shashanktiwari8511
    @shashanktiwari8511 2 місяці тому +1

    Excellent example, and i want to know what is this VS extension that is giving suggestions for auto code complete

  • @shivanshpatel4072
    @shivanshpatel4072 6 місяців тому +1

    Awesome video you make this concepts really easy to understand ❤

  • @sakarsr
    @sakarsr 8 місяців тому +1

    Neat explanation of Typescript Generics. Thank you for your time, have good health and a nice day.

  • @Ahmed-fq3kz
    @Ahmed-fq3kz 5 місяців тому +1

    Wow, very clear and to the point

  • @nathpaiva
    @nathpaiva 7 місяців тому +1

    Generic is so cool. Nice video!

  • @scott98390
    @scott98390 8 місяців тому +1

    Is there a way to create extension methods on a Type without running into issues because you extended the .prototype?

  • @pixyoutube538
    @pixyoutube538 8 місяців тому +1

    Great! Your video is very easy to understand

  • @isaiahdavis.com_
    @isaiahdavis.com_ 6 місяців тому

    For the createArrayPair can you also use the reserve word argument if the function name itself is explicit enough and your parameters are not a specific data type?

  • @petleveler8366
    @petleveler8366 Місяць тому +1

    So much value here!

  • @Redyf
    @Redyf 3 місяці тому +1

    Your videos are REALLY helpful, thank you so much

  • @stratuspei9405
    @stratuspei9405 28 днів тому

    Why is the type parameter ( "") after the function name or type name necessary? I'm guessing it's just for better performance of the TS compiler.
    It seems the input parameter type(s) (including the sequence in which they appear) and the output type are sufficient information to determine the relationships that need to be codified.
    I'm grateful for your video. The statement that "generics are specifications of codifying relationships between parameter and output types" is excellent and did make it easy to understand generics.

  • @miksica
    @miksica 6 місяців тому +1

    Pure gold, and thank you!

  • @sarowarhosen003
    @sarowarhosen003 8 місяців тому +1

    . i had many confusion about ts Generics . this tutorial is very helpful for me thank you so much , , now i have clear understand

  • @pasanflo
    @pasanflo 6 місяців тому +1

    Good example, thanks!

  • @maor44
    @maor44 7 місяців тому +1

    Amazing video dude! really helpful!

  • @danielmdenton
    @danielmdenton 7 місяців тому +1

    This video earned a subscription.

  • @demimontalto
    @demimontalto 8 місяців тому +2

    Great! Just one question: what's the point of having a generic since you are extending it from something else (React.ReactNode in your example)? You do that just for relationships between params and return value or am I missing something? Thank you, keep it up!

    • @ByteGrad
      @ByteGrad  8 місяців тому +2

      Yep, just to codify that relationship between the 2 props

  • @tszhong0411
    @tszhong0411 8 місяців тому +1

    You are the best! Keep it up ❤

  • @mikkun_
    @mikkun_ 8 місяців тому +1

    In just 22 minutes, I've learned a lot

  • @alenakavyrshyna3916
    @alenakavyrshyna3916 4 місяці тому

    The best video about generics ❤ thanks

  • @serhiityshchenko4006
    @serhiityshchenko4006 8 місяців тому +1

    Great video. Thanks!

  • @dominikrodler8010
    @dominikrodler8010 2 місяці тому +1

    Excellent presentation

  • @alexandrupintilei5657
    @alexandrupintilei5657 6 місяців тому +1

    Awesome video! Thanks!

  • @fiskryeziu
    @fiskryeziu 8 місяців тому +1

    Thank you for the video learned a lot

  • @junsgk
    @junsgk 8 місяців тому +2

    Best best ts teacher on youtube

  • @amirhossein.banaei
    @amirhossein.banaei 4 місяці тому +1

    great explanation. thanks a lot .

  • @123tomani
    @123tomani 7 місяців тому +1

    Very well explained 🎉
    Can you also do a video on websockets and best way to implement in micro front end application

  • @SimPwear84
    @SimPwear84 7 місяців тому

    Very cool video! I found your channel today and subbed for more content

  • @ExiledDelver
    @ExiledDelver 4 місяці тому

    you mentioned not to have "any" in your first example you returned => return [input.toUpperCase()] and said if you have an any this is no good since a number cant use the toUpperCase, wouldnt a generic do identically the same thing? const someFunc = (input:T):T[] => return[input.toUpperCase()] is this not the same as any?

  • @markmuthii
    @markmuthii 8 місяців тому +1

    First time here, and from this one video, I can tell I've landed on a goldmine.

  • @mr.javascript1320
    @mr.javascript1320 8 місяців тому +1

    Amamzing explanation !!!! loved it !!!!

    • @ByteGrad
      @ByteGrad  8 місяців тому

      Glad you liked it!

  • @Assassin29
    @Assassin29 8 місяців тому +1

    very easy and cool explanation

  • @cubedev4838
    @cubedev4838 5 місяців тому +1

    I love how the way u explain

  • @minademian
    @minademian 6 місяців тому +1

    Great video. Thank you.

  • @Landersaki_
    @Landersaki_ 8 місяців тому

    what theme you use?

  • @K.Huynh.
    @K.Huynh. 6 місяців тому +1

    thank for sharing! It's new for me! 🌈

  • @ludwigvillalba1886
    @ludwigvillalba1886 7 місяців тому +1

    Well explained!

  • @GooseGumlizzard
    @GooseGumlizzard 2 місяці тому +1

    this is great, thank you

  • @ismailbakhach8990
    @ismailbakhach8990 Місяць тому

    sorry but can someone tell me in brief when or in which cases should i use generics ?

  • @derrickcheung919
    @derrickcheung919 5 місяців тому

    Generics isn't bad in other languages , but I found it quite daunting in typescript

  • @MrEnsiferum77
    @MrEnsiferum77 8 місяців тому

    How do I use generics in some generic component like Table, when I need the id property, for filter let's say... in that case Typescript complains that can't find the id on T type, so I must add intersect with & { id: string }, so I can help Typescript to infer the id type.

  • @__mac
    @__mac 8 місяців тому +1

    This helped alot!

  • @md.asifal-mahmud5952
    @md.asifal-mahmud5952 8 місяців тому +1

    Awesome, Thanks a lot.

  • @schintus
    @schintus 8 місяців тому +1

    As a C# developer, this might be easier for me to understand up-front than pure JS devs :)

  • @SonAyoD
    @SonAyoD 5 місяців тому

    what vscode theme do you use?

  • @lp26197
    @lp26197 8 місяців тому

    Hello my friend, I am following you and I want advice from you. I am a front-end developer and I use next js and I have worked on actual projects and I want to start in the back-end field. You advise me to start with C# or Javascript framework and work. I am very confused. Please help me. From your point of view, what is best?

  • @meal_team_six
    @meal_team_six 4 місяці тому +1

    Very helpful!

  • @Salah-YT
    @Salah-YT 8 місяців тому +2

    thank you so much

  • @prashlovessamosa
    @prashlovessamosa 8 місяців тому +1

    Thanks for sharing.

  • @Edgar-pu1lc
    @Edgar-pu1lc 8 місяців тому +1

    Hello, when will your next js course be ready?

    • @ByteGrad
      @ByteGrad  8 місяців тому +1

      Finishing the last few details. Make sure you’re on the email list :)

  • @user-jx4xh1fr7x
    @user-jx4xh1fr7x 8 місяців тому +1

    its good for me thanks!

  • @attilagyen1446
    @attilagyen1446 8 місяців тому

    You can make it more clear when you leave out the { } and make the convertToArray as a one-liner.
    const convertToArray = (input: T) => [input];

    • @Ultrajuiced
      @Ultrajuiced 8 місяців тому

      Just remember that it won't get hoisted.

  • @kaushlendrashukla8350
    @kaushlendrashukla8350 3 місяці тому +1

    Well explained

  • @iwmatt
    @iwmatt 8 місяців тому +1

  • @laputafelix
    @laputafelix 8 місяців тому +1

    Again, another extremely precise video to me

  • @fonshiynwatobi4675
    @fonshiynwatobi4675 7 місяців тому

    This masterpiece is 10 years old

  • @sergio.808s
    @sergio.808s 6 місяців тому +1

    thank you!

  • @ChiragGoyal777
    @ChiragGoyal777 8 місяців тому +2

    This is impressive, First time having a cool way to learn Generics. Keep it up! :)
    Please make a video on key of generics using

  • @youneshenni5417
    @youneshenni5417 8 місяців тому +1

    great one!