Getting Started with TypeScript: Core Concepts and Your First Program

TypeScript: Why Type Safety Matters

TypeScript extends JavaScript by adding a type system. This means you can define what types of values your variables can hold, function parameters expect, and functions return.

Strong Typing vs Weak Typing

JavaScript is a dynamically typed language. You can declare a variable and assign it any value:

let value = 42;
value = 'hello';
value = [1, 2, 3];
value = { id: 1 };

This flexibility is convenient but dangerous. Type-related bugs often surface only at runtime, making them harder to track down.

Static typing, by contrast, enforces type constraints at compile time. If you try to assign an incompatible value, the compiler catches it immediately.

Static Languages vs Dynamic Languages

The key distinction lies in when type checking occurs:

  • Static languages verify types during compilation
  • Dynamic languages verify types during execution

Static typing offers several advantages:

Aspect Static Typing Dynamic Typing
Type enforcement Strict Loose
Error detection Immediate (compile time) Delayed (runtime)
Runtime performance Generally better Generally worse
Documentation Self-documenting Requires external tools

TypeScript Features

As a superset of JavaScript, TypeScript provides:

  • Static type checking with stricter syntax rules
  • Compile-time error detection to reduce runtime exceptions
  • Cross-compilation to any JavaScript version (ES3, ES5, ES6+, etc.)
  • Better code maintainability through explicit type annotations

Your TypeScript code gets transpiled into standard JavaScript, making it compatible with any JavaScript runtime environment.

Setting Up Your Environment

First, install the TypeScript compiler globally:

npm install -g typescript

Create a new file named greeting.ts:

function greet(name: string): string {
    return `Hello, ${name}`;
}

console.log(greet('World'));

Compile the TypeScript file:

tsc greeting.ts

This generates a greeting.js file you can run in any JavaScript environment.

You can experiment with TypeScript directly in the official playground, which shows you the copmiled JavaScript output alongside your TypeScript source code.

Tags: TypeScript type-safety getting-started javascript

Posted on Thu, 03 Sep 2026 16:53:00 +0000 by Calgaryalberta