Spokes.wiki Search About
Computer Language source ↗ source url updated Thu Aug 06 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

TypeScript

The official site’s one-line definition is the whole design: “JavaScript with syntax for types.” TypeScript adds a static type layer on top of JavaScript and then removes it again — compilation is mostly annotation stripping, and the output is plain JavaScript that runs “anywhere JavaScript runs: in a browser, on Node.js or Deno and in your apps.” Maintained by microsoft; the page footer credits teams in Redmond, Boston, San Francisco and Dublin. Version read as 7.0 on 2026-08-06 — verified 2026-08-06 against the TypeScript devblog: 7.0 shipped 8 July 2026 (beta 21 April, RC 18 June), and it is a rewrite of the compiler in Go, announced as “a 10x faster native port”.

That last fact is not on the home page and changes what the page’s “trustworthy output” section means: the artefact that deletes your types is now a different program in a different language. A compiler rewrite of that size belongs on any honest reading of the project, and the marketing surface omits it.

The hub already knew. ../dev-tooling-wiki has held typescript-7-go-compiler since 2026-06-18, tracking the RC and then the GA with Microsoft’s own benchmarks (VS Code 125.7s → 10.6s, 11.9×). That is the correct division — the compiler as build infrastructure is that spoke’s subject, the language is this one’s — but this page was written on 2026-08-06 without checking, so the cross-link is arriving after the fact rather than at ingest.

T1 — first-party, per the standing caveat on language home pages. Authoritative about what Microsoft designed the language to do; the adoption and satisfaction numbers below are quoted survey results, and the page quotes the surveys selectively.

What the page argues

Almost none of the pitch is about expressiveness. Four claims, in the site’s own order:

  • The editor is the product. Types exist so tooling can catch mistakes “before you run your code” and complete the ones you haven’t made yet. The homepage’s demos are editor screenshots.
  • Inference does the work. You are meant to get the checking without writing much of the type layer yourself.
  • The output is trustworthy because it is just your JavaScript with the types deleted.
  • Adoption is incremental. Existing JavaScript is already valid TypeScript; a // @ts-check comment and JSDoc annotations turn checking on file by file, with no rewrite and no build step.

Type-system features it puts forward are modest by design: inference, interface declarations, union types (type Result = "pass" | "fail"), JSDoc-carried types, JSX support.

Why it matters here

This corpus’s languages mostly claim a whole stack — a memory model, a concurrency model, a runtime. TypeScript claims one axis and disowns the rest. It has no memory model and no concurrency model of its own; both belong to whichever host runs the emitted JavaScript (nodejs, a browser, Deno, Bun). See type-system for the axis itself and hosted-language for the inversion it forces: the language here is not hosted on a runtime, it is hosted on another language, and it vanishes before execution.

That makes it the corpus’s clearest case of gradual typing and of type erasure — kotlin and dart also target JavaScript, but they compile a language of their own; TypeScript compiles to the language it is written in.

What the one axis can and cannot carry (added 2026-08-12)

A type layer that deletes itself turns out to have a sharp, describable limit, and the community that found it is the one trying to write pure functional code here. Three walls, documented on their own pages: no abstraction over type constructors, so fp-ts imports an OCaml encoding (lightweight-hkt) and loses kind checking with it; no effect tracking, so effect rebuilds it as a three-parameter type Effect<Success, Error, Requirements>; and no immutable values, because TC39 withdrew Records and Tuples in April 2025 (records-and-tuples).

The first two are library problems and were solved as such. The third is not solvable by a library, and it is the same property this page opens with: readonly is an annotation on a mutable object, and it goes when the types go. “The output is trustworthy because it is just your JavaScript with the types deleted” is the marketing sentence for the guarantee-free runtime. See functional-programming for the axis this puts TypeScript on.

Numbers, first-party and unmeasured

The “Loved by Developers” section quotes the 2020 Stack Overflow survey (2nd most loved language) and the 2020 State of JS (78% usage, 93% would use again), plus a “Most Adopted Technology” award on year-over-year growth. All are six-year-old third-party surveys chosen by the vendor, and the page gives no current figure. Slack is the sole testimonial. Angular, Vue, Jest, Redux, Deno, Vercel and Yarn are listed as open-source users.

type-system · programming-language · hosted-language · nodejs · kotlin · dart · microsoft · synthesis