Why use Type and not Interface in TypeScript

  Рет қаралды 192,271

ByteGrad

ByteGrad

Күн бұрын

👉 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 Type Alias vs Interface
2:05 Interface problem 1
3:15 Interface problem 2
4:05 Interface problem 3
5:39 Interface problem 4
6:49 Consideration
7:34 Interface problem 5
9:41 Interface problem 6
11:49 Classes
12:33 Best arguments!
12:47 Arguments pro interface
#typescript #typescripttutorial

Пікірлер: 307
@ByteGrad
@ByteGrad 23 күн бұрын
👉 NEW React & Next.js Course: bytegrad.com/courses/professional-react-nextjs
@godin8768
@godin8768 9 ай бұрын
My rule of thumb is use interface until type is needed. 90% of the times I find myself defining objects
@pilhlip
@pilhlip 9 ай бұрын
Samezies. Best of both worlds
@machiinate
@machiinate 8 ай бұрын
For sure to me it all looked like code smells taking the idea of DRY too far adding more complexity then the problems they solve, or maybe a smarter way of being lazy, just write a few more lines of code and don't create un-nessisary coupling
@rickvian
@rickvian 8 ай бұрын
yeah, i think it doesn't matter that much between type and interface
@DhanushkaC
@DhanushkaC 8 ай бұрын
True. Same for me. Having type in all places over interfaces is bit fancy in TS though 😅
@mladenorsolic370
@mladenorsolic370 8 ай бұрын
For me its just more natural to define interface for a component rather than its type. That interface can have typed members in it self. Interface is like a contract while type defines ... well type :)
@spicynoodle7419
@spicynoodle7419 10 ай бұрын
TypeScript, not InterfaceScript
@papalardo
@papalardo 9 ай бұрын
Hahaha
@jiajianyang608
@jiajianyang608 9 ай бұрын
Cool!!man
@klutch4198
@klutch4198 9 ай бұрын
hahaha nice!
@silvanojr
@silvanojr 8 ай бұрын
that line made me like and subscribe
@LegendSpam
@LegendSpam 8 ай бұрын
😮😮😂😂😅
@jerusso
@jerusso 8 ай бұрын
I use interface for objects (which is mostly what I do when defining data models) and type for all else as needed. I don't think they're mutually exclusive. Use them both.
@sergiisechka1993
@sergiisechka1993 7 ай бұрын
I've heard about following one pattern is a good practice. That means if your project uses interfaces it is right to use only interfaces and vise versa
@danvilela
@danvilela 6 ай бұрын
Me too. I prefer not using equal sign if i can
@alerighi
@alerighi 9 ай бұрын
They may do similar things but the concept they convey is different. I use interface as the meaning of the interface that there is in Java/C# or other OOP languages, that is something a class needs to implement. While type is like a struct/record, something that is only used to pass around data, not methods. This way in my opinion the codebase is clear, since you have a separation between two concepts.
@WellDressedMuffin
@WellDressedMuffin 9 ай бұрын
I agree with this. You don't have to exclusively use one or the other. The bad use case examples for interfaces in this video are a result of misusing interfaces IMO.
@gosnooky
@gosnooky 9 ай бұрын
This is the way
@rafaelkhan_
@rafaelkhan_ 8 ай бұрын
There’s no material distinction between those two, especially in a language with function types. Maybe it’s the functional programmer in me speaking, but I try to break the boundaries between those two things and stick to the one thing that can represent EVERYTHING. However, I do understand the benefit of providing something that’s clear and similar to the code that my teammates have worked with in other languages. Just my personal preference…
@alerighi
@alerighi 8 ай бұрын
@@rafaelkhan_ I agree there is no difference. However I tend to use "type" for records or structs, and interface for defining the methods that an object exposes. For example, in the Rust language, type would be the struct, and interface the trait.
@krantinebhwani6125
@krantinebhwani6125 3 ай бұрын
Wrote this reply in another reply thread, but essentially it's to answer some people who complain to just use interfaces until you can't. I create an example hypothetical scenario to showcase why this is unnecessary in this reply: I favor always using types just like Wesley explains in this video, because essentially it keeps everything consistent. If you really have the specific case for more complex interface polymorphism, e.g. complex hybrid types, then you will already know you should use interfaces and create that exception. If not, every other case you can use types and make it consistent. To say you use interfaces until type is needed is like saying, if we bridge the example to declaring variables, that when you define an object u do: const obj = { example: 'example string' } and when you "know" you need to not use an object you just use another way of declaring: dec loggedIn = false In this situation, "dec" is a made-up replacement for const / let that stands for "declare variable", where you know you are declaring a variable that is not an object. This is the same as the interface type situation, but if you can do: dec obj = { example: 'example string' } why would u keep switching between dec and const... just use dec all the time. Now back to the video, it's the same with types and objects. If I need a union I use type = type1 | type2 | type3 etc or some type like type = AnotherType[] or type = typeof keyof Anothertype, and if I needed to type an object I have to suddenly swap to interface or vice versa it's just messy. Just always use types, just like you can always use const, even if they add a new keyword to declare variables with objects to allow you to do very specific things that aren't needed often you would still continue to use const to declare both objects and other stuff.
@AqgvP07r-hq3vu
@AqgvP07r-hq3vu 8 ай бұрын
I disagree. Interfaces has limited functions for a reason. It makes it clearer to understand what the code is intended for at first glimpse. Having lack of features is an advantage in this case when it comes to readability. I'm afraid that junior developers will now haphazardly add 'type' to their code after watching this video.
@everyhandletaken
@everyhandletaken 8 ай бұрын
Examples of where using type is going to break the world?
@fredhair
@fredhair 8 ай бұрын
I don't really consider these to be problems... I consider them different use cases. Type I use when aliasing.. Interfaces I use when defining an interface. Call it semantics - because it mostly is. I actually consider the fact that interfaces only define object shapes to be a benefit, it's generally pretty rare that I want to simply alias an underlying / primitive type other than as a placeholder when passing it around. Quite often I'd alias a string as EmailAddress for example but usually because I'm passing the type around and at some point I suspect I may want to replace that type alias with a proper interface without replacing all the areas where the type is passed (of course you have to change the places that actually operate on the type). It's far more common that I want to define a contract for an object so I'm happy using interfaces as that's what they are. I also actually prefer the syntax as it conveys more info (seems more expressive) saying "interface IDerivedThing extends IBaseThing {...}" rather than "type IDerivedThing = IBaseThing & {...}".
@ivorybanana2183
@ivorybanana2183 7 ай бұрын
That's because interfaces are... well, interfaces. They represent a contract - a set of methods and properties exposed by the object. They are not types. If types were only for primitives, interfaces would make much more sense in TS. Btw, you can create an interface for a primitive too like this: interface Address extends InstanceType {}; It is just not as convenient as with types :)
@ooker777
@ooker777 5 ай бұрын
his point is that using type is just much more cleaner
@hansschenker
@hansschenker 8 ай бұрын
Interface is for shapes in the form of objects, you can "extend" a shape. With shapes you can build a hierarchy. Type alias is for type composition. you can compose types from simple types. A type is a fixed definition. You can change/omit properties with the help of utility types.
@tiagoc9754
@tiagoc9754 9 ай бұрын
One point in favor of interface is that it can extends from both type alias and interface. A type alias can extends (intersects) from types but cannot from interfaces. When working with third party libs that export props as interfaces, this might be an issue if you strictly use type alias in your project
@BlueCell
@BlueCell 9 ай бұрын
Hmm. Didn't get you. You can do like this: `type User = IGuest & { createdAt: Date }`
@tiagoc9754
@tiagoc9754 9 ай бұрын
@BlueCell interface A{} interface B extends A{} //works type A = {} interface B extends A{} //works type A = {} type B = A & {} //works interface A {} type B = A & {} //breaks
@BlueCell
@BlueCell 9 ай бұрын
@tiagoc9754 you are not right. Maybe it's old version of ts? For me it works. Just tried
@tiagoc9754
@tiagoc9754 9 ай бұрын
@@BlueCell it might be the case. I haven't tested on new versions as it never worked before
@AqgvP07r-hq3vu
@AqgvP07r-hq3vu 8 ай бұрын
this should now work in the recent versions of TS. Maybe you mean TS interface overriding.
@adhec
@adhec 6 ай бұрын
As a person who new on this typescript world, your video is really understandable. Thank you.
@user-ie7md3mm6x
@user-ie7md3mm6x 9 ай бұрын
Really appreciate your content man, very useful!
@olusanyaolamide9764
@olusanyaolamide9764 9 ай бұрын
Thank you so much for your video, I just started learning typescript and it's a bit confusing at first, but I'm getting the hang of it
@songhyeonjun2803
@songhyeonjun2803 10 ай бұрын
very concise and clear examples. great!
@GeorgeMonsour
@GeorgeMonsour 2 ай бұрын
This knowledge is extremely useful when you're fixing someone else's code. You would understand the working 'intent' more clearly (or quicker) knowing the utility and restrictions of each facility. Thanks for the review & lesson.
@DebopriyoBasu
@DebopriyoBasu 4 ай бұрын
While it might be debatable what to use, but this is the first time I understood the difference between interface and type. Thanks for that!
@JohnSmith-kw6be
@JohnSmith-kw6be 7 ай бұрын
I loved the "Type"Script pun. The reason I use Interfaces instead of Types is because when skimming through code Types can confuse me with regular variable assignments. But I totally agree with the video. I wished that maybe something more in between where types don't look like too much like regular code assignment but it would be as flexible as types and less verbose compare to interfaces.
@landsman737
@landsman737 4 ай бұрын
good comment
@billy8461
@billy8461 10 ай бұрын
i prefer interfaces honestly because they feel more strict and the extend keyword feels more clean and i find the most complex features of types not really necessary. And ofc interfaces are a concept that exists in other languages. I only use type when i need the union feature. In my company I work on a massive react project with ts and most devs prefer interfaces it gets the work done.
@gmusic8812
@gmusic8812 9 ай бұрын
you can use ampersand in types, it's like an extend but can do more.
@LordErnie
@LordErnie 8 ай бұрын
One uses interfaces if they wish to flip the dependencies of a system around, mainly in OO environments like C++, C#, and Java. Javascript has the rule of composition over definition;Javascript follows structural comparison rules and doesn't really care about structural definition comparisons (is it of the same direct type or is it a child of one). Because objects in js follow different rules for substitution, interfaces aren't really as needed in the same way they are needed in the earlier mentioned environments. In js, expecting an object of a type with a function validate means it can be any object as long as their validate matches the expected function header (and even that doesn't have to be true). Typescript interfaces are a bit weird. They are nice, but types are indeed a better alternative.
@pablotruffa588
@pablotruffa588 7 ай бұрын
What do you think about creating DTOs interfaces? I know we can use "Omit" to filter a field but what if someone forgets about that and sends back the entire model to the client.
@z1982_
@z1982_ 8 ай бұрын
Very Interesting ! I believe we can also use Pick keyword to assign part of a type
@azbest1337
@azbest1337 8 ай бұрын
what plugin do you use for this autocomplition?
@ali.gulmaliyev
@ali.gulmaliyev 9 ай бұрын
Which extension makes the object's properties suggestion when creating an object?
@Lamevire
@Lamevire 7 ай бұрын
What adson do you have installed to give you completion suggestions?
@Samuftie
@Samuftie 8 ай бұрын
A bit skeptical at first but this makes sense! Thank you for sharing.
@Movoid12
@Movoid12 7 ай бұрын
What a great video! I understand now many things what’ve not understood before! Thanks dude!
@mateusztwardy64
@mateusztwardy64 7 ай бұрын
One of the best of your videos which I watched. But still many to watch. Great job. Thanks.
@CuriousAnonDev
@CuriousAnonDev 9 ай бұрын
Great videos! Very helpful, thanks :)
@0xClaude
@0xClaude 9 ай бұрын
This was very helpful, thank you!
@jamienordmeyer4345
@jamienordmeyer4345 6 ай бұрын
"It's called 'Type'Script, not 'Interface'Script." ROFL Touche... Good point...
@dafaarmanto681
@dafaarmanto681 10 ай бұрын
Thanks for the video, great explanation!
@n2-yt
@n2-yt 10 ай бұрын
Well explained! I love the TypeScript not IntefaceScript part 😂
@neilmerchant2796
@neilmerchant2796 10 ай бұрын
I would absolutely love a series of videos on how to get started with TypeScript, specifically the main places where TypeScript needs to be written in an app, where it doesn't, and all the necessary syntax.
@ByteGrad
@ByteGrad 10 ай бұрын
Just finishing editing this exact video. Stay tuned :)
@adamwic2984
@adamwic2984 7 ай бұрын
What do you mean where ? Everywhere !
@alexenax1109
@alexenax1109 2 ай бұрын
Super, always looking to understand when to decide between these two
@BrunoSilva-vw4uo
@BrunoSilva-vw4uo 7 ай бұрын
such an amazing video, keep rocking dude!
@dan_can_swim
@dan_can_swim 7 ай бұрын
What theme are you using? @ByteGrad
@mojito510
@mojito510 8 ай бұрын
Funny thing is that this video convinced me to use interface over type unless necessary :)
@nick-ui
@nick-ui 10 ай бұрын
Omg, So many typescript tricks that I dont know, love it
@vickyvirat5166
@vickyvirat5166 8 ай бұрын
Thanks a ton, this cleared lots of concepts...🙏
@meka4996
@meka4996 9 ай бұрын
Very useful! Thanks
@tomelders
@tomelders 8 ай бұрын
In the example where you extract a type from a const, how would you specify a property as having a union type?
@myscipper
@myscipper 8 ай бұрын
Good examples for good usages of type. My pattern is to use interfaces to describe behaviour and types for state. The thing with "open interfaces" is really crap in typescript. especially when you see an interface a contract.
@HungNguyen-vi4rr
@HungNguyen-vi4rr 7 ай бұрын
agree. I'm getting tired to see class defined in Typescript project: keep passing arguments to create instances do the same job, or use to create one instance only to handle a single work , instead of write curry functions. 2023 and people still stick with OOP in JS/TS development.
@teerapatprommarak2070
@teerapatprommarak2070 7 ай бұрын
It's "Typescript" not "Interfacescript" I like this a lot 😂😂😂, by the way, this is one of the best videos about a comparison between Types alias and Interface in Typescript, thank you!
@nikhilgoyal007
@nikhilgoyal007 2 ай бұрын
I use interface for initiating a generic class blueprint (interface has some methods that class needs to implement). Can Types also be used to define as containing functions ? sorry for the basic question.
@omarbarra3456
@omarbarra3456 8 ай бұрын
Thanks, it was very helpful. Just a comment the Typescript's interfaces seems to follow the Open-Closed Principle. And that is very helpfull when you want to extend the behavior without modifying the interface
@ridhwanio
@ridhwanio 11 ай бұрын
I've had discussions about this before but never took the time to look into it properly. You've sold me with just the interface problem 1! Great video, subbed. :)
@gyros9162
@gyros9162 7 ай бұрын
This video is a great refresher of TS!
@novailoveyou
@novailoveyou 10 ай бұрын
Thanks Bro, you're great dev, my respect
@ByteGrad
@ByteGrad 10 ай бұрын
Thanks, appreciate it
@landon.wilkins
@landon.wilkins 3 ай бұрын
came for the info - subbed for the voice
@gosnooky
@gosnooky 9 ай бұрын
I still prefer interfaces for simple object shapes or anything that contains a function, so it can be used to implement into a class instance. Types for anything more complicated when dealing with plain objects. That's my rule.
@khoanhn
@khoanhn 8 ай бұрын
I'm going with interface always, type for everything else interface can't. So I have a nice distinction without any confusion.
@xury2426
@xury2426 8 ай бұрын
I used class for Dtos , not sure type is better ? (I am from c# developer)
@muhammadmursalin8915
@muhammadmursalin8915 7 ай бұрын
Excellent explained.🥰
@rockNbrain
@rockNbrain 10 ай бұрын
Great job dude, tks a lot 🎉
@realstoman
@realstoman 10 ай бұрын
Well explained👏
@sujitcodes
@sujitcodes 11 ай бұрын
very helpful video, keep it up
@CodeAbstract
@CodeAbstract 8 ай бұрын
Thanks for the great insight and your explanation ByteGrad ! However, I wanted to ask. You mention that type aliases has some advantages over interfaces, but why do you then arrive at the conclusion to favor Type aliases pretty much always over interfaces, and not interfaces for objects, and type aliases for all else for example? Also, I believe I had read that interfaces is a bit lighter on the tsc compiler lol, not that it matters much in terms of dev experience.
@jameymyates
@jameymyates 5 ай бұрын
I recommend using interface when dealing with objects as it provides faster performance and provides more info in code hints. If there's a need for a feature that exists only in types, then use types.
@davidhavl
@davidhavl 10 ай бұрын
This is a misleading title! Types are not a silver bullet and there are plethora of articles out there explaining it better than I could ever do. As with everything, use the right tool for right problem! It is that simple. I mean, there is even an eslint rule (called "prefer-interface") that is part of the "recomended" config that suggests you to use interface where possible.
@pranayboreddy
@pranayboreddy 7 ай бұрын
Crystal clear !
@tonthanhhung
@tonthanhhung 8 ай бұрын
I use type all the time. I can use type for anything related to type which TS needs. Typing "type" for me is faster, saving some keystrokes.
@nanazap8348
@nanazap8348 6 ай бұрын
You are the best man.
@user-bk3gr1nl2s
@user-bk3gr1nl2s 16 күн бұрын
Loved it superb.
@sealuke2724
@sealuke2724 9 ай бұрын
super useful!
@macon5696
@macon5696 9 ай бұрын
agree, for me interface required only if you develop some library, just because of merge availability
@tylim88
@tylim88 9 ай бұрын
there is one thing interface absolutely crush type, that is when building higher kinded type, an interface that can accept another utility type as argument
@ByteGrad
@ByteGrad 9 ай бұрын
Hmm would you mind giving an example?
@mdouglas64
@mdouglas64 8 ай бұрын
​@@ByteGradI assume he means generics. And yes, that is something that is extremely useful.
@Worx324
@Worx324 8 ай бұрын
Most of these "problems" assume that interfaces and types are exclusive, which they are not! Just because you decide to prefer interfaces to define your objects doesn't mean that you must limit yourself and not use types to solve all those use cases. Only problem 6 really touches on a "problem" of interfaces, everything else was never something interfaces were meant to solve. Interfaces are meant for objects, and types can do objects too, a far more interesting video topic would be to ask "for objects, should I use interfaces or types?". Aside from problem 6 (which is mostly solvable by avoiding global types which is a bad practice anyway imo), this video doesn't really provide any arguments for one or the other.
@rickvian
@rickvian 8 ай бұрын
that info of double Interface declaration causing merge is helpful! but i will still use interfaces for the sorter error message highlighting
@HATFun
@HATFun 14 күн бұрын
Interfaces have advantage where we want to implement Dependency injection, can we do that with types?
@HeyNoah
@HeyNoah 10 ай бұрын
Super well explained! Love your videos!
@roby_codes
@roby_codes 10 ай бұрын
Great video, I'm so glad that KZfaq recommended your channel, I found myself doing a lot of mistakes that you explain in your videos and they improved my skills. Thanks!
@isurumaldeniya9536
@isurumaldeniya9536 8 ай бұрын
Thank you greate video 👍👍😊😊
@niamudeen000
@niamudeen000 6 ай бұрын
I have finally understood this concept. 😋
@PawelMucha
@PawelMucha 6 ай бұрын
I must say I was skeptical, but that was quite convincing 🤔
@zebapy
@zebapy 10 ай бұрын
Been meaning to find a difference or reason to settle for one or the other. Thanks for a ton of great points - I am convinced.
@aldotube88
@aldotube88 6 ай бұрын
As someone just starting out in typescript you may have sold me on using type > interface
@proplayer2472
@proplayer2472 8 ай бұрын
Btw, you forgot to mention at 5:43 that you can also give label names to tuples, found that very handy especially when separating a function paramaters into a separate type and then spreading them out 😁
@mh_dev
@mh_dev 8 ай бұрын
Keep up the good work
@AlexanderMerzlikin
@AlexanderMerzlikin 7 ай бұрын
Thanks for the video. You convinced me that the type is much more useful than the interface! Like
@matejukmar
@matejukmar 8 ай бұрын
The problem with keyword `type` is that first two letters t and y are the most hard to reach on the keyboard... the finger needs most stretch :) ... that's why I'm constantly using interfaces for object types as after two letter the completion gives me full word
@rickvian
@rickvian 8 ай бұрын
omiting something from interface, you probably did it wrong you can make the name optional property indicates that its can be null or undefined, but still there or just split the interface coz its reflecting types of different concern
@pablopenia
@pablopenia 7 ай бұрын
thanks didn't know all differences. I always use type everywhere, interface when I need it which is very weird unless when Im working with other devs
@codemadesimple1043
@codemadesimple1043 8 ай бұрын
Interesting take.
@geekinactionn
@geekinactionn 7 ай бұрын
Can you tell your extensions please? This auto complete of yours seems perfect! Also great video.btw
@karombekhusanov7603
@karombekhusanov7603 7 ай бұрын
Copilot
@zafariqbal92
@zafariqbal92 7 ай бұрын
Liked, Subscribed and Commented!!
@gandalfgrey91
@gandalfgrey91 6 ай бұрын
Don’t use extends unless you absolutely have to because when managing a large production codebase you may eventually get stuck in a web of dependencies. Nothing is worse than sorting through a tangled web when you have a pressing deadline. Keep everything as independent and modular as possible, even if it adds a bit more boilerplate, because it will save you time in the long run.
@codeemily
@codeemily 5 ай бұрын
agreed!!
@TakshvysDad
@TakshvysDad 7 ай бұрын
Can you please tell us which all extensions you use ? Specifically for the intellisense. Thanks!!🙏🏼
@hamzakhalidbhutta
@hamzakhalidbhutta 2 ай бұрын
Its actually GitHub Copilot
@cblbopotka3915
@cblbopotka3915 9 ай бұрын
you're the hero
@downanddirtytruth
@downanddirtytruth 4 ай бұрын
Really good video.
@user-iw1wl5sw5e
@user-iw1wl5sw5e 8 ай бұрын
The TS compiler is more performant when extending interfaces vs. intersecting types. Usually no visual difference until you're doing something complicated and have to create a type that intersects 50-200 different object types. But if that's the case you should probably figure out why you feel the need to do so and refactor the runtime code to be more TS friendly
@alfonszelicko2002
@alfonszelicko2002 8 ай бұрын
do you have any source about performance? its new info for me :) i cannot find serious source of info even compiler itself! :D )
@dave6012
@dave6012 8 ай бұрын
That doesn’t affect the production build though, right? Like, only in dev or when deploying, but the end user won’t get a performance hit because it’s already compiled.
@zaibalo
@zaibalo 8 ай бұрын
"more performant when extending interfaces" - may be that's why the TypeScript docs in fact recommend using interfaces over types
@ktappdev
@ktappdev 8 ай бұрын
Thank you
@suresh-aj
@suresh-aj 6 ай бұрын
Useful thanks
@ludwigvillalba1886
@ludwigvillalba1886 8 ай бұрын
Well done.
@yawaramin4771
@yawaramin4771 5 ай бұрын
The last argument pretty much makes the biggest point in favour of using 'interface', i.e. getting better error messages. When you're dealing with TypeScript and complex types that can often float around in libraries and codebases, you need all the help you can get from error messages.
@prashpatil24
@prashpatil24 7 ай бұрын
Thanks I never used types this way
@Pvsc082
@Pvsc082 7 ай бұрын
"It's called TypeScript not InterfaceScript" :D I love your videos!
@isitluk
@isitluk 8 ай бұрын
Awesome vid
@ByteGrad
@ByteGrad 8 ай бұрын
Thanks, appreciate it!
@brunolobao5704
@brunolobao5704 9 ай бұрын
When you say "ugly" to me it seems that is more descriptive wich is better. So for me most of the strong points in favor of Types ate actually not pros but cons. Nonetheless its a great video explaining the differences between Types and Interfaces.
@xboklx
@xboklx 6 ай бұрын
don't know how it works in typescript, but for other languages I use Interface when I should describe an object with methods, but don't want to code methods, because they will be in a different project. so my current project needs to know how to use these objects and compile without knowing and compiling interfaces code.
TypeScript Generics are EASY once you know this
22:21
ByteGrad
Рет қаралды 124 М.
Whyyyy? 😭 #shorts by Leisi Crazy
00:16
Leisi Crazy
Рет қаралды 20 МЛН
Китайка и Пчелка 4 серия😂😆
00:19
KITAYKA
Рет қаралды 3,7 МЛН
La revancha 😱
00:55
Juan De Dios Pantoja 2
Рет қаралды 67 МЛН
This is the Only Right Way to Write React clean-code - SOLID
18:23
Enums considered harmful
9:23
Matt Pocock
Рет қаралды 194 М.
You might not need useEffect() ...
21:45
Academind
Рет қаралды 151 М.
I Cannot Believe TypeScript Recommends You Do This!
7:45
Web Dev Simplified
Рет қаралды 161 М.
Why I don't use React-Query and tRPC in Next.js
18:58
ByteGrad
Рет қаралды 72 М.
as const: the most underrated TypeScript feature
5:38
Matt Pocock
Рет қаралды 111 М.
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Alex Hyett
Рет қаралды 189 М.
Type your functions in TypeScript and SAVE TIME
8:31
ThePrimeTime
Рет қаралды 48 М.
How Did I Not Know This TypeScript Trick Earlier??!
9:11
Josh tried coding
Рет қаралды 203 М.
Whyyyy? 😭 #shorts by Leisi Crazy
00:16
Leisi Crazy
Рет қаралды 20 МЛН