113 votes

Qu'est-ce que le "type d'exportation" dans Typescript ?

Je remarque la syntaxe suivante dans Typescript.

export type feline = typeof cat;

Pour autant que je sache, type n'est pas un type de base intégré Il ne s'agit ni d'une interface ni d'une classe. En fait, cela ressemble plus à une syntaxe pour l'aliasing, mais je ne peux pas trouver de référence pour vérifier mon hypothèse.

Que signifie donc la déclaration ci-dessus ?

133voto

James Monger Points 4907

Il s'agit d'un alias de type - il est utilisé pour donner un autre nom à un type.

Dans votre exemple, feline sera le type de ce que cat est.

Voici un exemple plus complet :

interface Animal {
    legs: number;
}

const cat: Animal = { legs: 4 };

export type feline = typeof cat;

feline sera le type Animal et vous pouvez l'utiliser comme type où vous voulez.

const someFunc = (cat: feline) => {
    doSomething(cat.legs);
};

export l'exporte simplement du fichier. C'est la même chose que de faire ça :

type feline = typeof cat;

export {
    feline
};

7 votes

L'exemple le plus simple est celui des types littéraux de chaîne de caractères : type Easing = "ease-in" | "ease-out" | "ease-in-out";

25 votes

Je ne peux pas comprendre en profondeur. Quelle est la différence entre une interface et un type alors ? A quoi servent principalement les types ?

7 votes

-1voto

lisc TIM Points 1

Comprenez-le par type et par exportation distincts.

  1. type

document de type

  1. exporter exporter

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X