Fiche de référence TypeScript : maîtrisez les concepts fondamentaux et les bonnes pratiques
L'installation, l'exécution, les types, les classes, toutes les bases
Sommaire
Voici mon concis fiche de référence TypeScript couvrant les concepts clés, la syntaxe et les exemples de code fréquemment utilisés par les développeurs :
Fiche de référence TypeScript
Démarrage
- Installer globalement :
npm install -g typescript
- Compiler un fichier :
tsc filename.ts
- Vérifier 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';
Alias 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");
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
// Export
export function foo() {}
// Import
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;
- Cartographié :
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éduction de type
- Utilisez
typeof
etinstanceof
pour la réduction 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 et les fonctionnalités essentielles pour la plupart des workflows de développement TypeScript.