You could include that “ajax.js” file, but then you’d get runtime errors about missing stuff, and you’d run the dependency gauntlet trying to work out what you needed to add to get it all working.
TypeScript attacks this problem from two directions. Firstly, the dependencies are explicit. You have a reference or import that says “this file relies on this other file”. This makes dependencies really easy to manage. Secondly, TypeScript checks the dependencies at compile time, so you don’t have to keep running up the page and checking the error console.
This has made such a difference to me, that I have decided to share these utilities for free – so you can grab them, use them, submit improvements and otherwise benefit from the joys of TypeScript.