Stop Using {} In TypeScript

  Рет қаралды 357,207

Web Dev Simplified

Web Dev Simplified

10 ай бұрын

🌎 Find Me Here:
My Blog: blog.webdevsimplified.com
My Courses: courses.webdevsimplified.com
Patreon: / webdevsimplified
Twitter: / devsimplified
Discord: / discord
GitHub: github.com/WebDevSimplified
CodePen: codepen.io/WebDevSimplified
#Shorts

Пікірлер: 198
@1DrowsyBoi
@1DrowsyBoi Ай бұрын
Type-safe language programmers: "Look what they need just to mimic a fraction of our power."
@abhayprince
@abhayprince 10 ай бұрын
I name it key instead of index. { [key:string] : unknown }
@j.r.r.tolkien8724
@j.r.r.tolkien8724 9 ай бұрын
Makes more sense. I thought it had to be named index.
@dorian0623
@dorian0623 6 ай бұрын
I'd also use key or property but index should be just fine as it stands for index signature
@ninhdang1106
@ninhdang1106 5 ай бұрын
Same thing but I use the Record syntax instead. Kinda more pleasing to look at
@idylanxe
@idylanxe 5 ай бұрын
And it works
@Percevaaaal
@Percevaaaal 3 ай бұрын
Same here 👌
@devperatetechno8151
@devperatetechno8151 10 ай бұрын
thanks kyle, keep with the snippets of TS
@j.r.r.tolkien8724
@j.r.r.tolkien8724 9 ай бұрын
More please. I'm transitioning to Typescript.
@RonnieMcNutt_Mindblowing
@RonnieMcNutt_Mindblowing 10 ай бұрын
Me watching this even though I know nothing about coding: Very nice
@IAmLesleh
@IAmLesleh 10 ай бұрын
No better time to start
@x3zlo
@x3zlo 9 ай бұрын
​@@IAmLeslehI think this person wants to finish, not start 😏
@graphicdesignandwebsolutio365
@graphicdesignandwebsolutio365 6 ай бұрын
Fuck typescript
@ivansostarec2564
@ivansostarec2564 4 ай бұрын
You should try coding
@und0
@und0 7 ай бұрын
you should mention the `object` (note lowercase) this is the most generic pure object you can specify, usually useful it you're extended a generic. function foo (bar: T) { return Object.keys(bar) }
@sterin557
@sterin557 10 ай бұрын
Need more typescript stuff
@andrewjarrett132
@andrewjarrett132 9 ай бұрын
Record won't exclude arrays though. If you want to exclude arrays, you'll need to do `Record`. There are a few small corner cases where `Record` is too strict, but those don't come up much in user-land.
@brettchan3572
@brettchan3572 6 ай бұрын
You sure? type personData = Record; // This will cause a TypeScript error because it doesn't match the declared type function f(obj: personData) { return obj; } f(["3"]) // Argument of type 'string[]' is not assignable to parameter of type 'personData'.Index signature for type 'string' is missing in type 'string[]'.ts(2345)
@andrewjarrett132
@andrewjarrett132 6 ай бұрын
I assumed you’d be putting the type in a generic (which is usually what you want - if your use case looks like that, it’s probably fine to just use `object` and allow arrays)
@buddy.abc123
@buddy.abc123 10 ай бұрын
Thank you so much Kyle! I've been struggling to type the ioredis georadius result. This will help me
@ffuego9751
@ffuego9751 10 ай бұрын
These shorts are awesome, goat js/ts content creator
@travispulley5288
@travispulley5288 9 ай бұрын
Super helpful! Relaxes my brain to think of it this way
@dimarak8866
@dimarak8866 28 күн бұрын
One could just type it like this: type Obj = { name: string; surname: string; }; Record is only needed if you want to build a versatile function that handles different objects with the same structure or if you expect an object from an API f.ex. to change property names in the future
@IStMl
@IStMl 22 күн бұрын
You can't pass any object with the type you defined. Thats the whole point of this short.
@thefanboy3285
@thefanboy3285 Ай бұрын
The title made me think for a moment there was a trick in TS to get rid of the block scope delimiters "{" "}" lol
@thecoolnewsguy
@thecoolnewsguy 8 ай бұрын
Deno helped me a lot to learn TypeScript and avoid some bad practices such as this one
@christianpuldon7201
@christianpuldon7201 8 ай бұрын
For a split second I read "Stop using TypeScript"
@pavankumard5276
@pavankumard5276 6 ай бұрын
Commenting so that youtube recommends more of these type of shorts❤
@nomadshiba
@nomadshiba 8 ай бұрын
also you can do `Record` `PropertyKey` shorthand for `string | symbol | number`
@zheil9152
@zheil9152 10 ай бұрын
{} is actually pretty powerful when you want to accept any value that isn’t undefined or null. It’s an any, but that any must exist
@GurjotSingh-no4hx
@GurjotSingh-no4hx 10 ай бұрын
wouldn't the same apply to the 2 alternate solutions he provided?
@3UM6A6BE
@3UM6A6BE 10 ай бұрын
You can make your intention more clear by using NonNullable
@alexcoroza4518
@alexcoroza4518 9 ай бұрын
If you do not want to accept null or undefined then you can configure you typescript's strictNullChecks to true
@zheil9152
@zheil9152 9 ай бұрын
@@GurjotSingh-no4hxno. Record limits the expectation to an object and not any of the aforementioned primitives
@zheil9152
@zheil9152 7 күн бұрын
@@alexcoroza4518that’s not the point or intent of what I’m saying
@risitas5874
@risitas5874 9 ай бұрын
Thanks for teaching me this, although I don't think I will be adopting this pattern. The codebase has to be already be using it
@cypherusuh
@cypherusuh 7 ай бұрын
this makes TS A LOT more complex than I thought...
@johnsoto7112
@johnsoto7112 10 ай бұрын
I love the record syntax over the 2nd one
@vitalysuper3193
@vitalysuper3193 4 күн бұрын
object, Record, …And object of ANY form: Record
@nozomi_tailwind
@nozomi_tailwind 10 ай бұрын
i use the 2nd method cz i can easily understand like writing the object itself
@AdamLeis
@AdamLeis 9 ай бұрын
I've been all up in Record in the past months. It seems cleaner to my eyes for some reason than the key index approach (2nd version he showed).
@rtpHarry
@rtpHarry 6 ай бұрын
Great shorts normally but I never bump into this issue, which is confusing as you say "by far the most common issue". If it's being passed like that its normally more defined like as an interface, or as you recommend a type. I never go near the Object type directly.
@abe_is_live
@abe_is_live Ай бұрын
Yea what's the point of using typescript if you don't want to define what the structure looks like lol
@pierrehenriot2480
@pierrehenriot2480 10 ай бұрын
Are you Captain Pike's son ?
@Mohamed_MDJ
@Mohamed_MDJ 2 ай бұрын
I didn't learn typescript yet , but I can easily understand what did you write, so is it very simple?
@nomadshiba
@nomadshiba 6 ай бұрын
Also you can still use it, its a great way to tell that something is anything but non nullable
@solomonowusu-ansah1751
@solomonowusu-ansah1751 6 ай бұрын
I use the second option. But I've learnt another way. Thanks
@urban8499
@urban8499 9 ай бұрын
Hey thanks , never knew about this
@justindouglas3659
@justindouglas3659 10 ай бұрын
Can you do a typescript tutorial?
@FurryDanOriginal
@FurryDanOriginal 9 ай бұрын
I can recommend Matt Pocock for that.
@justindouglas3659
@justindouglas3659 9 ай бұрын
@@FurryDanOriginal ok thnx do ypu happen to know someone for php. Seems i need to learn it anyway.
@FurryDanOriginal
@FurryDanOriginal 9 ай бұрын
@@justindouglas3659 Unfortunately no. Outside of some basics, I never needed PHP nor was interested in it. But by searching for PHP tutorials you surely should find a lot of creators and just stick to the one who seems to flow with your prefered style of learning the best.
@Me-vc4sf
@Me-vc4sf 2 ай бұрын
​@@justindouglas3659 "php for beginners " from laracast channel one of the best php tutorial ever
@nostalgia5031
@nostalgia5031 Ай бұрын
Doing “Record” also works
@IStMl
@IStMl 22 күн бұрын
did you not watch the short?
@bronzekoala9141
@bronzekoala9141 10 ай бұрын
Nice tip, but how on earth is this the "most common mistake"?? I've never even come into a situation where I could've done this mistake.
@sqfzerzefsdf
@sqfzerzefsdf 10 ай бұрын
@bronzekoala9141 like he said everything inherits from object so there's a lot of potential reason to pass one around and there's plenty of room for mistakes due to how unintuitive something as abstract as object is
@asherrfacee
@asherrfacee 9 ай бұрын
I agree, not a common mistake. I’ve been writing typescript for 10 years. This is a weird niche case where you want strictly compile time type checking for any object except a Date. I say strictly compile time cause you could always use runtime validation for Date very easily which most cases would likely use. His advice to never use object I find to be questionable advice, and his suggested use of the Record utility type is wrong according to the Typescript team. Record should only be used when you want strictly typed dictionary-like object. If you want to exclude date just use a conditional type: function processObjectWithoutDate(obj: T extends Date ? never : T): void { // Process the object // ... }
@birthdayzrock1426
@birthdayzrock1426 Ай бұрын
maybe it's really uncommon, but still the most common lol
@adityatripathi1904
@adityatripathi1904 9 ай бұрын
Record
@riacharda
@riacharda 5 ай бұрын
I'm guilty of doing this. Massive thanks 👍🏾
@cafelutsa_
@cafelutsa_ 10 ай бұрын
Please stop producing videos with the format of "Stop doing X thing"
@TheSaintsVEVO
@TheSaintsVEVO 10 ай бұрын
Elaborate
@cafelutsa_
@cafelutsa_ 9 ай бұрын
@@TheSaintsVEVO Elaborate on what?
@samipplays
@samipplays 9 ай бұрын
Everybody seems to like it tho
@pepperdayjackpac4521
@pepperdayjackpac4521 9 ай бұрын
Why?
@TheCroninberg
@TheCroninberg 9 ай бұрын
​@@pepperdayjackpac4521as it gets more views/ more people are curious
@yohanlopes1847
@yohanlopes1847 3 ай бұрын
amazing, thanks!
@ilkinismailov4438
@ilkinismailov4438 2 ай бұрын
{} means "anything but a `null` or `undefined`"!
@StuartLoria
@StuartLoria 5 ай бұрын
Actually useful, I could use a longer video, interesting topic.
@anshXR
@anshXR 9 ай бұрын
bro how u so majestic
@RS-fz4ps
@RS-fz4ps 5 күн бұрын
If you knew the desired members of you Param, why wouldn’t you define a class for it instead? Isn’t that the point of typescript?
@mahadevovnl
@mahadevovnl 9 ай бұрын
What about nested objects
@rammahkarpous
@rammahkarpous Ай бұрын
Cool, thanks 👌🏾
@OliverEbsworth
@OliverEbsworth 9 ай бұрын
I use an Interface and mark each things as its type instance objI { name: string, email: string, image: string, } Is this wrong?
@alexcoroza4518
@alexcoroza4518 9 ай бұрын
yeah. in Angular this is how they type things and it should be on most projects using typescript
@OliverEbsworth
@OliverEbsworth 9 ай бұрын
@@alexcoroza4518 cheers man, I appreciate your reply.
@asherrfacee
@asherrfacee 9 ай бұрын
Using an interface/type/class when you are expecting a specific object type is definitely the best option. In the rare case that you want to accept any object except a Date, instead of using his solution, I recommend using a conditional type: function processObjectWithoutDate(obj: T extends Date ? never : T): void { // Process the object // ... }
@SRG-Learn-Code
@SRG-Learn-Code 10 ай бұрын
I hope JStypes come soon so we can stop with the TS madness.
@richardflosi
@richardflosi 9 ай бұрын
There is a spec for js comment annotations is the works, but it’s still some that 3rd parties like TS would read for typing.
@LeroyCellador
@LeroyCellador 2 күн бұрын
Why not specifying the fields for the object type?
@meudiariodev
@meudiariodev 10 ай бұрын
What's the name for this? How the folder to put those kind of object factory could be named?
@mystica-subs
@mystica-subs 7 күн бұрын
What do you mean the object works and the date no longer works? I don't see a difference? Where is the actual output of this code?
@blueghost512
@blueghost512 9 ай бұрын
Which is due to missing tsconfig rules
@josepheastman8509
@josepheastman8509 Күн бұрын
But isn't index like a main page?
@T1Oracle
@T1Oracle 7 ай бұрын
My frustration is anytime I use typescript with a 3rd party library with broken, missing, and overly complicated types. Fighting both Typescript and a new library, is too much. I usually give up and revert to "any."
@trFirzen
@trFirzen 10 ай бұрын
I see these videos after I do these mistakes lol. Are you following my code?
@timothyhoytbsme
@timothyhoytbsme 6 ай бұрын
What about nested objects?
@preciouschidi5131
@preciouschidi5131 10 ай бұрын
Hello Kyle you have been of a great help to me in the last few years as a self-taught developer. Right now I need a job. It has been a real issue for me. I have been a developer of self, building projects for clients as a freelance but I really want to go out of this shell and work in real life company. This is a great problem for me. Please I need your help.
@Bohdan29
@Bohdan29 7 ай бұрын
This won't work if you have an object that is declared as an interface.
@IStMl
@IStMl 22 күн бұрын
just dont mix types and interfaces
@Ptaszqq
@Ptaszqq 10 ай бұрын
I haven't seen anyone typing object Object yet
@sciencemommy
@sciencemommy 10 ай бұрын
Thanks!
@Naej7
@Naej7 10 ай бұрын
You look like a Meghan Markle copycat
@WebDevSimplified
@WebDevSimplified 9 ай бұрын
You are very welcome!
@TheDLK
@TheDLK 8 ай бұрын
What's the difference between using Record & Record ?
@thecoolnewsguy
@thecoolnewsguy 8 ай бұрын
Unknown will throw an error until you check the type. Any will disable type checking and you don't have to check the type before using whatever you want
@pixelotetm
@pixelotetm 10 ай бұрын
That record is the same as Map< String, dynamic> in dart programing, actually for dart to be able to work with Json, it needs to be converted to a Map of Strings keys and dynamic values
@asherrfacee
@asherrfacee 9 ай бұрын
If you want a custom type for representing JSON objects in typescript, that provides additional type safety then I recommend the following: type JSONValue = string | number | boolean | null | JSONValue[] | Record;
@MarcinCebula
@MarcinCebula 12 күн бұрын
You could do that...but...should you? you can `typeof ` an object or create a class. At this point you might as well just say `any`
@donnyp7350
@donnyp7350 10 ай бұрын
Thankss
@gronkhfp
@gronkhfp Ай бұрын
Or just create an Interface for your models
@valcubeto
@valcubeto 15 күн бұрын
Why unknown instead of Any
@kleinertraitor
@kleinertraitor 10 ай бұрын
hey kyle, whats the difference between unknown vs any?
@bowiemtl
@bowiemtl 10 ай бұрын
They are like the exact opposites. Any allows any operation because it could be anything, unknown allows none without narrowing down the type. It’s better to read the documentation and code examples to really get the gist of it
@chris-zlrr
@chris-zlrr 6 күн бұрын
thats cool
@cbbcbb6803
@cbbcbb6803 7 күн бұрын
An object should be an object! What?
@JohnCostanzo
@JohnCostanzo 9 ай бұрын
I think biggest mistakes is not properly setting up a tsconfig.
@alexcoroza4518
@alexcoroza4518 9 ай бұрын
why not use interface?
@btoann
@btoann 10 ай бұрын
This one doesnt work with interface. I have googled for some solutions, but almost of it are recommended replace type instead or using Record which i see no different from Object/any. Does anyone have another idea!?
@asherrfacee
@asherrfacee 9 ай бұрын
You should only use Record utility type when you want a strictly defined dictionary-like object, so his solution is more of a hack. In his example, it’s a simple case where you want to just exclude the Date type, so using a simple conditional type to exclude Date is the best option: function processObjectWithoutDate(obj: T extends Date ? never : T): void { // Process the object // ... }
@low_scarlet
@low_scarlet 10 ай бұрын
why not interface?
@Lucas-mu5no
@Lucas-mu5no 6 ай бұрын
Awesome
@roronoa_d_law1075
@roronoa_d_law1075 10 ай бұрын
Is it possible to have not string keys ?
@asherrfacee
@asherrfacee 9 ай бұрын
Yes, you can also use numbers and symbols: // Using numbers as keys type NumberRecord = Record; const numberObject: NumberRecord = { 1: "One", 2: "Two", 3: "Three" }; // Using symbols as keys const symbolKey1 = Symbol(); const symbolKey2 = Symbol(); type SymbolRecord = Record; const symbolObject: SymbolRecord = { [symbolKey1]: 42, [symbolKey2]: 99 };
@ayandhara
@ayandhara 10 ай бұрын
but {} gives me error every time !!
@zack2415
@zack2415 9 ай бұрын
Why not use an interface ?
@mooncorizer290
@mooncorizer290 6 сағат бұрын
Typescript generating more bytecode this slows down performance
@biyrololo
@biyrololo 10 ай бұрын
What if {name: string} ?
@darkenblade986
@darkenblade986 8 ай бұрын
Actually the most common would be doing front end dev 😂
@thecoolnewsguy
@thecoolnewsguy 8 ай бұрын
Agree 😢😢 especially CSS
@azeek
@azeek 5 ай бұрын
Cuz in reality you don't want an object you want smth like a dictionary.
@a7mooz
@a7mooz 9 ай бұрын
I use lowercase 'object' cuz it's simpler
@asherrfacee
@asherrfacee 9 ай бұрын
Date is an object, most people want it as an object. This is an interesting case where want to exclude Date. According to the Typescript team, you should only use Record utility type when you want a strictly defined dictionary-like object, so your use case here is more of a hack imo. I recommend using a simple conditional type: function processObjectWithoutDate(obj: T extends Date ? never : T): void { // Process the object // ... }
@thecoolnewsguy
@thecoolnewsguy 8 ай бұрын
Ay man this is so unreadable
@asherrfacee
@asherrfacee 8 ай бұрын
@@thecoolnewsguy This is a niche case when you want to accept all types except for a single type, therefore “T extends ? never : T” is exactly the type of readable logic you would want. It doesn’t rely on any unintended behavior to work. It works for multiple cases, not just for Dates. And this is the recommended approach from the Typescript team.
@Darkpill-2
@Darkpill-2 8 ай бұрын
JavaScript has bigger problems than type checking. This is why projects are starting to dump typescript.
@benji9107
@benji9107 5 ай бұрын
An object... That wasn't too hard
@markdesign1354
@markdesign1354 10 ай бұрын
wow, typescript is so complicated and non-intuitive.
@sidthetech7623
@sidthetech7623 10 ай бұрын
What we need is a typescript solution... for typescript. And we need more frameworks on top of frameworks on top of frameworks on top of frameworks on top of frameworks. Life feeds on life feeds on life feeds on life feeds on life... You can typescript if you want to. You can leave vanilla js behind... and if your friends dont dance with typescript down their pants, well their no friends of mine. Typesafety Dance 💃 🕺
@inzdvl
@inzdvl 10 ай бұрын
I always love those videos with devs that are spending couple of minutes here and there just to be type safe instead of focusing on the actual code :D. This is priceless…
@Dev-Siri
@Dev-Siri 10 ай бұрын
this comment is harder to discern than trying to find the end of a class name in a java app.
@Naej7
@Naej7 10 ай бұрын
@@inzdvlIf you’ve never had a type error before, you’ve never coded in your life. Also, typing enables autocompletion, so that I can focus on the actual code instead of looking for the documentation every time..
@juraev0056
@juraev0056 9 ай бұрын
​@@Naej7pretty much any editor can do autocompletion without typescript.
@Naej7
@Naej7 9 ай бұрын
@@juraev0056 How is the editor supposed to know the type of a parameter in a function if the type is not explicitly written ?
@josephnguyen1549
@josephnguyen1549 9 ай бұрын
Damn I make this mistake 😂
@rico5424
@rico5424 5 ай бұрын
I hate typescript so EXTRA
@waffle8364
@waffle8364 5 ай бұрын
I type script but it's a necessary evil I suppose
@Kareszrk
@Kareszrk 4 ай бұрын
Why do you say that is a key/index? I thought that is called property.
@birthdayzrock1426
@birthdayzrock1426 Ай бұрын
key is same as property
@Kareszrk
@Kareszrk Ай бұрын
​@@birthdayzrock1426Oh, alright. Thank you for the clarification! ❤
@awekeningbro1207
@awekeningbro1207 9 ай бұрын
Doesn't {} mean empty object?
@asherrfacee
@asherrfacee 9 ай бұрын
Using {} as a type does not represent an empty object. Instead, it represents a type that matches any object shape. In other words, it’s a type that allows for any properties and values. If you’re specifically looking to represent an empty object type, you can use Record or {} along with as const for stricter type inference. Here’s an example: // Using Record const emptyObject1: Record = {}; // Using {} with as const const emptyObject2 = {} as const;
@vishnuvardhan.s
@vishnuvardhan.s 10 ай бұрын
I am having a scenario where key and value is always string but for a specific string "foo" the value is a number. How can i do this with Record?
@helloworlditsworld
@helloworlditsworld 10 ай бұрын
Replace the string with “foo” and unknown with number
@sidthetech7623
@sidthetech7623 10 ай бұрын
Stackoverflow has entered the chat.
@sevenstars0711
@sevenstars0711 10 ай бұрын
{ [index:string]: unknown, “foo”: number } this should work or maybe you have to reverse their order
@Dev-Siri
@Dev-Siri 10 ай бұрын
Record & { foo: number; }
@sevenstars0711
@sevenstars0711 10 ай бұрын
@@Dev-Siri rightttt, i learned yesterday about record, it seems very useful
@coleykat312
@coleykat312 9 ай бұрын
What is the difference between JavaScript and typescript
@asherrfacee
@asherrfacee 9 ай бұрын
TypeScript is like an enhanced version of JavaScript. It adds optional static typing to catch errors early, improves coding tools, helps maintain clean and documented code, supports modern features before they’re available in all browsers, and boosts code quality.
@mr.k8660
@mr.k8660 6 ай бұрын
why is frontend only writen in js why couldn't it be writen in like python or rust...
@IStMl
@IStMl 22 күн бұрын
Writing frontend in Rust would be a nightmare
@richardflosi
@richardflosi 9 ай бұрын
What happens after you compile it to js?
@Kiev-en-3-jours
@Kiev-en-3-jours 9 ай бұрын
Probably a big mess.
@asherrfacee
@asherrfacee 9 ай бұрын
They are types, so they are removed when it is compiled to js.
@hetuman
@hetuman 8 ай бұрын
well date type is Object.... typeof new Date()
@thecoolnewsguy
@thecoolnewsguy 8 ай бұрын
He literally said that lol
@peterveliki7918
@peterveliki7918 9 ай бұрын
Why not stop using TypeScript in the first place ? :D
@gro967
@gro967 5 ай бұрын
Most basic Ts knowledge. Do people not read docs?
@br3nto
@br3nto 10 ай бұрын
Why bother with types of you’re going to do this?
@oogabooga2581
@oogabooga2581 9 ай бұрын
I've never wasted so much time in my life until i was introduced to a TS codebase. What a huge fk around, enjoy writing union types for something as basic as API responses, when JS has the dynamic typing and, OR functionally already built in.. Cant believe people are keeping this up - let it die with coffeescript
@rosonowski
@rosonowski 9 ай бұрын
Stringly typed. 😁
@Vichion
@Vichion 6 ай бұрын
"As you can see".... As I can see what? Your face? Remove it from the shorts format and utilize the space better. I'm not angry, just dissapointed.
Learn TypeScript Generics In 13 Minutes
12:52
Web Dev Simplified
Рет қаралды 220 М.
Why use Type and not Interface in TypeScript
14:12
ByteGrad
Рет қаралды 191 М.
PINK STEERING STEERING CAR
00:31
Levsob
Рет қаралды 20 МЛН
When Jax'S Love For Pomni Is Prevented By Pomni'S Door 😂️
00:26
We Got Expelled From Scholl After This...
00:10
Jojo Sim
Рет қаралды 35 МЛН
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 13 МЛН
The Most Important Skill You Never Learned
34:56
Web Dev Simplified
Рет қаралды 141 М.
Two Sum | LeetCode 1 | JavaScript | Easy
13:20
Gordon Zhu
Рет қаралды 6 М.
10 Tailwind Classes I Wish I Knew Earlier
13:31
Web Dev Simplified
Рет қаралды 163 М.
10 React Antipatterns to Avoid - Code This, Not That!
8:55
Fireship
Рет қаралды 715 М.
If You Cannot Name All 5 JS Scopes You Need To Watch This Video
15:06
Web Dev Simplified
Рет қаралды 38 М.
Why Signals Are Better Than React Hooks
16:30
Web Dev Simplified
Рет қаралды 453 М.
8 TypeScript Tips To Expand Your Mind (and improve your code)
10:54
I Cannot Believe TypeScript Recommends You Do This!
7:45
Web Dev Simplified
Рет қаралды 160 М.
PINK STEERING STEERING CAR
00:31
Levsob
Рет қаралды 20 МЛН