Basics

Verze:

19. 06. 2025

Zodpovědná osoba:

Dominik Šlechta

Type Annotations

  • Rule: Use TypeScript to add type annotations to your JavaScript code.

  • Reason: Static type checking in TypeScript helps catch errors early, improves code quality, and boosts developer productivity by providing better code suggestions and error checking.

Example:

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

Interfaces and Classes

  • Rule: Leverage interfaces to declare the shape of objects and classes to encapsulate data and behavior.

  • Reason: Interfaces ensure that objects conform to a particular structure, and classes group related data and methods for better organization.

Example:

interface Person {
  name: string;
  age: number;
}

class Employee implements Person {
  constructor(public name: string, public age: number) {}
}

Generics

  • Rule: Use generics to create reusable and flexible components that work with any data type.

  • Reason: Generics allow you to write functions, classes, and interfaces that can handle multiple data types while maintaining type safety.

Example (Correct):

function identity<T>(arg: T): T {
  return arg;
}

Compilation

  • Rule: Configure the TypeScript compiler (tsc) using a tsconfig.json file to target specific ECMAScript versions and manage other compiler options.

  • Reason: Proper configuration of tsconfig.json ensures compatibility with different JavaScript environments and fine-tuning of the TypeScript compiler

Example (tsconfig.json):

{
  "compilerOptions": {
    "target": "ES6",
    "module": "commonjs",
    "strict": true
  }
}

Summary:

  • TypeScript: Use type annotations, interfaces, classes, and generics for better code quality and productivity.