TypeScript
You're finally building that dream app that's gonna make your portfolio really pop and get all the recruiters sliding into yo...
For further actions, you may consider blocking this person and/or reporting abuse
Eh.....
So there's a lot of nuance here that your 2 years of dev experience wouldn't have shown you yet.
Static typing, as a tool, is just that. One additional tool to choose. I've worked in and built systems that use a mix of TS and JS. In fact, most of them were a mix. Because different problems (even within a given project) require different sets of tools to solve.
For instance, I might write a React front-end in TS because React supports it pretty well. Meanwhile, I'd use vanilla JS for the Node scripts that run some of the dev experience. Then Flow right along side the TS for Relay-related aspects of the UI. (I haven't done that, but why not?)
And hoo boy, do I hope that's a joke. 😂
Static typing is just one of the features Typescript has over Javascript.
The others i'm thinking of are; interfaces, generics, enums, namespaces.
You can have an approximation of it in Javascript, but it missed a solid foundation.
I would do it the other way around. Node can run Typescript, while React in the browser doesn't.
The main thing that bothers me is that the evolution of Javascript seems to be stalled because of Typescript. I would rather see runtime type hinting in Javascript than using Typescript. The biggest features I can think of are the async functions (ES2017) and the dynamic import (ES2020). But that are not changes that affect the way the code is structured.
I'm mostly using PHP and I have seen the same evolution from only dynamic typing to now where people opting in for strict typing, and all those other features that Typescript provides. Still no generics, but I'm not that bothered not being able to use that feature.
I have force myself not to use things like function parameter typing or output typing. Not only to let my IDE yell at me, but also having that assurance it will error early when the application runs.
Javascript always had that I-don't-want-to-use-it-plain factor. From the time backend developers let it generate, to having languages on top of it like coffeescript, typescript and many others.
I totally get where you're coming from, and I appreciate the thoughtful breakdown overall. That said, I would gently push back on this point. In practice, dynamic imports fundamentally change structure. Not just syntax, but architecture.
They allow for lazy-loading of modules, which shifts decisions about bundling, dependency graphs, and execution order. That affects how devs organize features (e.g., splitting by route, feature, or plugin), and makes things like microfrontend design or plugin-based systems way more feasible without the overhead of custom loaders.
So while it's not a new language-level structure like interfaces or enums, it absolutely influences real-world project structure at scale.
I agree it changes the syntax and architecture.
The point I was trying to make is that there are no features that change the runtime robustness of the code. In Javascript you need to rely on third party libraries or custom code to have the robustness that languages with a (more) static type-system have.
It should be a big neon sign for the people who maintain Javascript that the most popular way to use it, is a language with type in the name.
To be clear, I'm not trying to say that no one writes or uses vanilla JavaScript - but that you most likely will be using TypeScript if you get a job as a web developer, and you kinda proved my point:
The key take-away from my post is supposed to be that you should start learning TS sooner, because I wish that I did. :)
Do you disagree?
Oh, no, TS is still super popular; I'm just adding context. I interpreted "you will most likely use TS" as "you will likely use ONLY TS," which is my mistake.
And I appreciate your comment! Also, it's my first time trying to write about these things and articulate my thoughts, so I'll definitely work on being a bit clearer next time.
Great post! 🎉 I really appreciated how you highlighted under-valued skills like embracing TypeScript early—definitely something I wish I’d done sooner too. Your perspective on learning stuff "you think you don’t need" really resonated. Looking forward to part 2!
Hey, where's the rest of the article?! I got excited, started reading and then a cliffhanger XD
Welcome to Dev.to!
Ain't nobody got the attention span to read more than that :P Plus, writing is hard.
Thank you!!!