Language

TypeScript

JavaScript with a type system: the contract that large UI codebases actually need.

TypeScript’s particularity is that it erases: types exist for the compiler and the editor, not at runtime. That is why it fits the browser — the output is still JavaScript.

Strength: refactors, public APIs, and React/Vue props become checkable. Limit: it does not replace tests, and `any` is how a team lies to itself.

A senior PHP used to PHPStan will feel at home. Same idea: make the contract explicit before the bug ships.

typescriptlang.org

Related