TypeScript

You might say

I've heard there's a stricter version of JavaScript that catches mistakes early. What is it?

A language that checks written code for mismatched names and value types before it runsIf you type user.nmae instead of user.name, TypeScript can flag it before the page runs when the object type is known. It checks declared code contracts; passing those checks does not prove the product logic is right.
Know first
TS
Further reading