I’ve been writing JavaScript professionally for over a decade. I’ve survived the jQuery era, the Angular 1 to Angular 2 migration apocalypse, the React revolution, and the great Webpack configuration wars. But nothing has shifted the ground under my feet quite like what’s happened over the last two years with TypeScript. It’s no longer a nice-to-have. It’s no longer something you “opt into.” TypeScript is just how we write JavaScript now, and if you’re starting a new project in plain JS in 2026, people look at you like you showed up to a Zoom call without pants.
The Numbers Don’t Lie
Let’s start with the hard data. According to the GitHub Octoverse 2025 report, TypeScript became the most-used language on GitHub for the first time in August 2025, surpassing even Python with 2.6 million monthly contributors. That’s not a typo — TypeScript overtook Python. TypeScript now appears in 78% of JavaScript-related job postings, up from around 60% just two years ago. Enterprise adoption has hit 78% among development teams, and TypeScript developers earn roughly $129K compared to $111K for JavaScript-only roles.
As LogRocket’s 2026 web dev trends analysis puts it bluntly: writing plain JavaScript for a professional project is now considered a “legacy approach.” TypeScript is the baseline, fueled by end-to-end type safety. Syncfusion’s frontend trends report echoes this: TypeScript has effectively become the default language of modern frontend work, especially as the line between client and server continues to blur.
The DX Revolution
What really won me over — and I’ll admit I was a skeptic until about 2023 — is the developer experience. The IntelliSense improvements alone are worth the migration cost. When I’m working with a well-typed codebase, my editor becomes a co-pilot (no, not that Copilot, though it helps too). Autocomplete is accurate. Refactoring is safe. API contracts between frontend and backend are enforced at compile time.
And speaking of AI: a 2025 study found that 94% of errors generated by AI coding assistants are type-related — exactly the kind of errors TypeScript catches before your code even runs. In an era where half our code is being suggested by Copilot or Cursor, TypeScript acts as a safety net that makes AI-assisted development actually viable. Without it, you’re just vibes-checking generated code and hoping for the best.
The framework ecosystem has unanimously voted with its feet. React documentation now shows TypeScript examples first. Next.js generates TypeScript projects by default. Vue 3 was rewritten in TypeScript with first-class support. Angular has always been TypeScript. There’s literally no major framework pushing plain JS as the recommended path.
The Overhead Is Real (But Shrinking)
I’m not going to pretend there’s zero cost. The learning curve is real, especially for developers coming from dynamically typed backgrounds. Generics still make people’s eyes glaze over. And I’ve seen teams spend more time fighting the type system than shipping features — usually because they’re trying to type everything perfectly instead of using pragmatic escape hatches.
For small projects — a quick script, a weekend prototype, a Lambda function that does one thing — plain JavaScript is still perfectly fine. I’m not going to tsc --init for a 50-line Node script. Context matters.
But here’s what’s about to change even that calculus: TypeScript 7.0, expected mid-2026, is bringing a Go-based compiler (codenamed “Project Corsa”) that delivers up to 10x faster builds, near-instant incremental compilation, and roughly 50% memory reduction. The “TypeScript is slow to set up” argument is about to evaporate. When type-checking is nearly instant, the overhead of using TypeScript even for small projects becomes negligible.
So Is Plain JS Dead?
Not dead — but it’s becoming the exception, not the rule. It’s like asking “is there still a place for writing raw SQL?” Sure, sometimes. But most of the time, you’re using an ORM or query builder because the productivity gains outweigh the overhead. Plain JavaScript is entering that same space: a tool you reach for deliberately in specific situations, not your default starting point.
The shift happened gradually, then all at once. And honestly? The JavaScript ecosystem is better for it. We spent years building increasingly complex applications in a language that couldn’t tell you a variable was undefined until your users found out in production. TypeScript didn’t replace JavaScript — it just made JavaScript grow up.
What’s your experience been? Are you all-in on TypeScript, or are there contexts where you’re deliberately choosing plain JS? I’m curious where the community draws the line.