imo TypeScript is a superset of JavaScript that adds static types, enabling better error checking and code scalability, while JavaScript is a dynamically-typed language with no built-in type-checking so most projects that's complex and large could benefit from TypeScript's tooling and safety