It's shocking how often teams "lie" to TypeScript


It's shocking how often teams "lie" to TypeScript.

A needlessly wide type is a lie.

Avoid:
🚩 userId: string;
🚩 isActive: number;
🚩 ages: <string | number>[];

Prefer:
✅ userId: number;
✅ isActive: boolean;
✅ ages: number[];
Oops, many people pointed out that storing userId as a UUID is likely preferable. I agree.

My point was *avoid storing a number in a string*.

I should have picked a better example.

View original on X