Les fonctions

Fonctions

Paramètres en entrée

Paramètre en sortie


Variable de type fonction

Function

Signature de fonction

Pour déclarer la signature d’une variable de type fonction, on a deux possibiltés:

  1. Une expression de type fonction.
    La syntaxe est très similaire aux fonctions flèches:

     let fn: (a: string) => void;
    

    L’expression ci-dessous signifie “une fonction avec un paramètre obligatoire (nommé a) de type string, qui n’a pas de valeur de retour.

  2. Un type objet.
    Même chose que précédemment mais en utilisant la syntaxe de type.

    type MaFonction = {
      (a: string): void;
    };
    
    let fn: MaFonction;
    

    Utiliser un objet permet plus de fonctionnalités qu’une expression de type:

    • On peut spécifier les propriétés que la fonction doit avoir.

      type FctWithDescription = {
        description: string;
        (someArg: number): boolean;
      };
      function doSomething(fn: FctWithDescription) {
        console.log(fn.description + " returned " + fn(6));
      }
      
    • On peut spécifier le constructeur de la fonction (pour une fonction invoquée avec l’opérateur new):

       type SomeConstructor = {
         new (s: string): SomeObject;
       };
       function fn(ctor: SomeConstructor) {
         return new ctor("hello");
       }
      

À propos de void


Classes

Visibilité

Initialisation des propriétés

Lecture-seule

Signature de propriété

implements


Type guards