TypeScript
I've heard there's a stricter version of JavaScript that catches mistakes early. What is it?
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.