Shawn Mervin

TypeScript

JavaScript with types, so a whole class of mistakes shows up at build time instead of in the field.

Visit typescriptlang.orgThe screen

What it is

TypeScript is a programming language from Microsoft that adds static types to JavaScript. You describe the shape of your data, and the compiler checks that the code uses it consistently before anything runs. It then compiles to plain JavaScript, so it runs anywhere JavaScript runs: in browsers, on Node servers and inside React Native apps on a phone.

Types are optional and can be added gradually, which lets an existing JavaScript codebase move over one file at a time. Editors use the type information for autocomplete, inline errors and safe renaming across a whole project. Those benefits grow with the size of the codebase and the number of people working in it.

How I use it

  • Part of the Rental Pilot stack alongside React and React Native.
  • Used in the Rail & Sail Montessori House site with Next.js 14, React 18 and Tailwind.
  • Treated as a first check, not the last one: every change with a screen is rendered in a real browser or device before it ships.

TypeScript earns its place once a codebase is big enough that nobody remembers every data shape. I use it because rental agreements, invoices and payroll records have a lot of fields, and a type error at build time is much cheaper than a wrong number on an invoice. Passing a type check is still not verification, so every change is also looked at on screen.

Questions

Do you write TypeScript or JavaScript?

Both. TypeScript is part of the stack for Rental Pilot's React and React Native apps, and plain JavaScript still turns up in smaller pieces and older systems.

Is a passing type check enough to ship?

No. Types catch a useful class of mistakes, but every change with a screen is also rendered in a browser or on a device and checked before it goes out.

Working with TypeScript?

Tell me what you're building. Start a project or see the whole stack.

Got an operation that's outgrown its spreadsheets?

Tell me what your business does and where it's jamming up. If I'm not the right person for it, I'll say so and point you somewhere better.

What to send, and what happens next