TypeScript: Complete ‘Hello World’ Example

Updated: January 8, 2024 By: Guest Contributor Post a comment

Introduction

TypeScript, a superset of JavaScript, offers strong typing and object-oriented features to make large-scale web development smoother. Here’s a comprehensive tutorial on creating a ‘Hello World’ example in TypeScript, offering insights for beginners and advanced developers alike.

Getting Started with TypeScript

Installation is the first step to using TypeScript. You can install it using Node Package Manager (NPM) by running the following command in your terminal:

npm install -g typescript

After installation, you can simply create a .ts file for your first program. Here’s a basic example:

// hello-world.ts
echo "console.log('Hello World');" > hello-world.ts

To compile your TypeScript file into JavaScript, use the tsc command:

tsc hello-world.ts

This command generates a hello-world.js file, which is the JavaScript version of your TypeScript file.

TypeScript Syntax Basics

TypeScript is similar to JavaScript but with additional features. To understand the basics, let’s go through a typical ‘Hello World’ program with type annotations.

// hello-world.ts
function greet(message: string) {
    console.log(message);
}
greet('Hello World');

In the above example, message: string is a type annotation, ensuring that the greet function only accepts a string argument.

Integrating with Build Tools

Modern web development often involves build tools like Webpack or Gulp. Integrating TypeScript with these tools can enhance your development workflow.

Using TypeScript with Webpack

// webpack.config.js
module.exports = {
    entry: './src/hello-world.ts',
    module: {
        rules: [{
            test: /.tsx?$/, use: 'ts-loader', exclude: /node_modules/,
        }],
    },
    resolve: {
        extensions: ['.tsx', '.ts', '.js'],
    },
    output: {
        filename: 'bundle.js',
        path: __dirname + '/dist',
    },
};

Ensure you have ts-loader and typescript installed via npm to use with Webpack.

Advanced TypeScript Features

As you dive deeper into TypeScript, you’ll encounter advanced features like decorators, generics, and interfaces.

Using Generics

// generics.ts
function identity(arg: T): T {
    return arg;
}

let output = identity('myString');

Generics allow you to create reusable, type-safe components.

Implementing Interfaces

// interfaces.ts
interface Greeter {
    greet(): void;
}

class HelloGreeter implements Greeter {
    greet() {
        console.log('Hello, World!');
    }
}

let myGreeter = new HelloGreeter();
myGreeter.greet();

Interfaces define contracts within your code and express the object’s shape.

Testing Your TypeScript Code

Testing is vital, and TypeScript can integrate with testing frameworks like Mocha or Jest. Here’s how you can set up Jest with TypeScript.

// jest.config.js
module.exports = {
    preset: 'ts-jest',
    testEnvironment: 'node',
};

Remember to install ts-jest and @types/jest packages before setting up your configuration.

Conclusion

This tutorial covered starting from installation to advanced TypeScript features with a ‘Hello World’ example. TypeScript, through its robust typing and object-oriented strengths, provides a stable foundation for large-scale JavaScript applications. As you continue exploring TypeScript, you’ll discover more ways to improve your development workflow and maintainability of your code.