Why TypeScript?
If you're like me and Javascript is the only programing language you've ever learned you might be a bit repulsed to get ...
For further actions, you may consider blocking this person and/or reporting abuse
I don't think you need to have a type declaration for any of those variables; TypeScript's inference is very good, and you generally only need to write type declarations for function parameters.
I haven't written a lot of TypeScript, but I don't think it's idiomatic to include types like
string[]
when you're clearly assigning a literal oh that type. (Also, that's not nearly specific enough of a type forgameState
-- I'm guessing only a few values are valid; maybe it should be(PlayerSign | null)[]
; possibly even the tuple so that the length is fixed.Hey Curtis, thanks for writing back.
As with a lot of things, it really comes down to personal preference.
I've used TypeScript for almost two years now, both at work and on pet projects and I've found it much preferable to just write types for everything rather than have the cognitive load of thinking "this probably doesn't need a type".
It also has an added benefit of improving your IDE experience by offering you better auto completes.
Also, you raise a valid point about the
gameState
type. To be honest, I wanted to avoid confusing people by rewriting some of the existing logic and just stick to writing types, but this is an excellent place to put the tuples to use. I'll make sure to update it in part two!Well, for TS lines below are equal. There is no difference in IDE experience (autocomplete, e.t.c).
Just turn on
noImplicitAny
option in yourtsconfig.json
and TS will yell at you where a type can't be inferred. No extra cognitive thinking is required 😂