Tableau récapitulatif TypeScript : Maîtriser les concepts fondamentaux et les meilleures pratiques

Installation, exécution, types, classes, tous les fondamentaux

Sommaire

Voici mon résumé de TypeScript concis couvrant les concepts clés, la syntaxe et des exemples de code fréquemment consultés par les développeurs :

résumé de TypeScript 3D

Résumé de TypeScript

Prise en main

  • Installation globale :
    npm install -g typescript
    
  • Compilation d’un fichier :
    tsc filename.ts
    
  • Vérification de la version :
    tsc --version
    

Types de base

let a: number = 10;
let s: string = "TypeScript";
let b: boolean = true;
let arr: number[] = [1, 2, 3];
let tuple: [string, number] = ["TS", 2025];
let anyValue: any = "Flexible";
let unknownVal: unknown = 5;
let notDefined: undefined = undefined;
let notPresent: null = null;

Types union et littéraux

let id: number | string = 42;
let direction: 'left' | 'right' = 'left';

Aliases de type et interfaces

type Point = { x: number; y: number };
interface Person { name: string; age: number; }
let user: Person = { name: "Alice", age: 25 };

Fonctions

function sum(a: number, b: number): number {
  return a + b;
}
const multiply = (a: number, b: number): number => a * b;
function log(msg: string): void { console.log(msg); }

Classes

class Animal {
  name: string;
  constructor(name: string) { this.name = name; }
  move(distance: number = 0): void { console.log(`${this.name} moved ${distance}`); }
}

Modificateurs d’accès

  • public (par défaut), private, protected, readonly
class Point {
  constructor(private x: number, private y: number) {}
}

Génériques

function identity(arg: T): T { return arg; }
let output = identity("myString");

Énumérations (Enums)

enum ResourceType { BOOK, FILE, FILM }
let r: ResourceType = ResourceType.BOOK;

Assertions de type / Casting

let someVal: unknown = "Hello";
let strLength: number = (someVal as string).length;

Modules

// Exportation
export function foo() {}
// Importation
import { foo } from "./module";

Types avancés

  • Intersection :
    type A = { a: number }; type B = { b: number };
    type AB = A & B; // { a: number, b: number }
    
  • Conditionnel :
    type IsString = T extends string ? true : false;
    
  • Mappé :
    type Readonly = { readonly [P in keyof T]: T[P]; }
    
  • Type de littéral de modèle :
    type EventName = `on${Capitalize}`;
    

Types utilitaires utiles

Partial, Required, Readonly, Pick, Omit, Record

Rétrécissement de type (Narrowing)

  • Utilisez typeof et instanceof pour le rétrécissement de type :
function padLeft(value: string, padding: string | number) {
  if (typeof padding === "number") {
    return Array(padding + 1).join(" ") + value;
  }
  return padding + value;
}

Ce résumé fournit la syntaxe de base et les fonctionnalités essentielles pour la plupart des flux de travail de développement TypeScript.

Pour plus d’outils développeurs et de mémos, consultez Outils développeurs : Le guide complet des flux de travail de développement modernes.

Liens utiles