Skip to main content

System of a Clown

A Learning TypeScript > The Type System 🥗 appetizer project. You'll practice adding in TypeScript type annotations to JavaScript code to find bugs.

🎈 Help me, please!

I planned an elaborate clown-themed surprise party for my best friend. The whole event was planned using a few files of TypeScript code I'd written.

My friend somehow caught wind of the party and enlisted the clowns' help to vandalize the program. Not only did the clowns remove or make incorrect my TypeScript type annotations, they introduced subtle bugs by subtly changing some of the values.

Could you please add correct type annotations in my files and fix any bugs detected by TypeScript? You're my surprise clown celebration's last hope! 🤡


If you haven't yet, set up the repository locally.

git clone learning-typescript-projects
cd learning-typescript-projects
npm i

Change your terminal directory to this project's:

cd projects/the-type-system/system-of-a-clown

In your terminal, run the TypeScript compiler via the tsc script within whichever step you're working on. For example, to start the TypeScript compiler on the first step in watch mode:

npm run tsc -- --project 01-clowning-around --watch
npm run tsc -- --project 01-clowning-around --watch



  • Don't import code from one step into another.