About the author
I am a TypeScript expert who has been watching the language evolve for many years. I'm currently working at Metriport, an open-source healthcare API written in TypeScript.
TypeScript provides a reliable way to do just about everything - build a website, launch a mobile app, create a desktop application, prototype a business idea, and much more. AI tools and AI-enabled code editors are fabulously capable at helping you write TypeScript once you understand the basic ideas. However, it can be difficult for beginners to get started, and it can also be difficult for experienced programmers to understand all the nuances of TypeScript/JavaScript.
I sincerely hope this free resource helps you learn new things, improve the skills you already have, and provides you with a reliable reference to the TypeScript programming language.
How does this site execute TypeScript code in the browser?
Your browser is using TypeScript's virtual file system to create an in-memory system to compile your TypeScript code back into JavaScript. The generated JavaScript is then securely executed within a Web Worker sandbox, which prevents it from reading any browser information (e.g. cookies and local storage).
The Node.js APIs are a mock implementation which interacts with the in-memory file system and virtualized equivalents of actual computer internals - for example, simulating multiple child processes as multiple Web Workers which use a virtual stdout
and stderr
stream to communicate with each other.
Are you saving my code on a server somewhere?
Not at the moment. I might add this feature later, if there is demand for it.
Currently, all code that you write on this site never leaves your browser. You can use this entire site anonymously (e.g. in Incognito mode) and are welcome to use any of the content for your own purposes.
Do you track anything?
I try to collect simple analytics on usage, like page views and certain user events (e.g. when you click the run button). The analytics data never contains any personal information (e.g. names, email addresses, etc), and only identifies you by a unique random ID.
However, this site respects Do Not Track browser settings. You can easily enable "Do not track" on most major browsers, and verify that there are no longer any network requests to https://api.ts.coach
.