140 votes

Que signifie la pipe (|) en tapuscrit?

En parcourant un code tapuscrit de @ng-bootstrap j'ai trouvé l'opérateur pipe ( | ).

 export declare const NGB_PRECOMPILE: (typeof NgbAlert | typeof NgbTooltipWindow)[];
 

Quelle est l'utilisation de l'opérateur pipe ( | ) dans le dactylographié?

175voto

Aleksey L. Points 10476

C'est ce qu'on appelle le type d'union en tapuscrit.

Un type d'union décrit une valeur qui peut être l'un de plusieurs types.

Jetez un œil à cet exemple:

 class Test1{
    public a:string
}
class Test2{
    public b:string
}
class Test3{

}

let x: (typeof Test1 | typeof Test2)[];

x = [Test1]; //ok
x = [Test1, Test2]; //ok
x = [Test3]; //compilation error
 

23voto

cham Points 611

En JavaScript, l'opérateur de tuyau représente 'ou'. Dans ce contexte, il représente donc l'un des types déclarés autorisés. Il est peut-être facile de comprendre une union avec des types primitifs:

 let x: (string | number);

x = 1; //ok
x = 'myString'; //ok
x = true; //compilation error for a boolean
 

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