TypeScript overview

Now that we've covered the Deno runtime, let's talk about the language you'll use to develop: TypeScript. Just like how every chef is enamored by their own particular knife, we are enamored by TypeScript. We think you will be, too.

Typescript is built upon JavaScript...and while JavaScript is arguably the most popular language in the world, it's not without its issues. It's a dynamically-typed language β€” meaning that any errors can sneak through until runtime. This can lead to some irksome situations, especially for more robust applications.

TypeScript was created as a solution to these kinds of situations because it is a statically-typed language. There are more rules about what types are, and TypeScript will make you enforce those rules before you get to runtime.

You could think of TypeScript as "JavaScript but with extra steps", but with the knowledge that those extra steps are actually pretty useful, and will save you from a lot of headaches down the road.

TypeScript for different devs

We imagine it's likely that everyone here has previously dabbled in some other programming language. The following are a few resources to help you transition those skills to TypeScript.

You're a JavaScript dev

Great! JavaScript is quite similar to Typescript. Don't overthink things; the ways you perform actions in JavaScript are the same in TypeScript, you just need to be careful about those types. Much like transitioning from free-verse poetry to haikus, you'll add some rigidity to your art, but we believe your poetry will still shine through.

You're a Java dev

Just like coffee, there are many types of statically-typed languages. Java is one, and TypeScript is but another. In Java, source code is compiled and then run by the Java Virtual Machine, whereas in TypeScript, source code is compiled into JavaScript code, which is then run by the JavaScript runtime.

You're a Python dev

This will feel pretty different! But worry not, you're still a programmer at heart, with the knowledge of programming principles within you. Python lets you play particularly fast and loose with typing, so you'll likely spend some time figuring out how to define certain types, and that's okay. Just keep a handy cheat-sheet nearby, and soon you'll laugh at the days you kept running into errors because a value you thought was an integer was actually an array.

You're a wizard, Harry

Even wizards can brush up on their programming skills!

TypeScript resources

While we feel practice is the best way to learn, a few supplementary readings can never hurt.

Have 2 minutes to provide some feedback?

We'd love to hear about your experience building modular Slack apps. Please complete our short survey so we can use your feedback to improve.