2017-12-21 8 views
0

Javascript/Typescript ist neu für mich. Während ich durch die Angular Tour of Heros arbeite, sehe ich immer wieder Syntax, die ich in meiner C# -Programmierung nicht gesehen habe.Was ist Pipe-Nummer (| Nummer) in der DeleteHero-Methode von hero.service.ts in Angular v5 Tour of Heroes Tutorial

In der Tutorial Tour of Heroes Angular v5 gibt es einige JavaScript-Syntax, die ich nicht verstehen kann.

Kann mir jemand helfen zu verstehen, was die "| Nummer" in der deleteHero-Methodendefinition ist?

Ref: https://angular.io/tutorial/toh-pt6#add-heroservicedeletehero

/** DELETE: delete the hero from the server */ 
deleteHero (hero: Hero | number): Observable<Hero> { 
    const id = typeof hero === 'number' ? hero : hero.id; 
    const url = `${this.heroesUrl}/${id}`; 

    return this.http.delete<Hero>(url, httpOptions).pipe(
    tap(_ => this.log(`deleted hero id=${id}`)), 
    catchError(this.handleError<Hero>('deleteHero')) 
); 
} 
+1

Das ist Typoskript, nicht Javascript. Es bedeutet, dass der Typ entweder eine Zahl oder ein Held ist. –

+0

@ Sébastien Bei dieser Frage geht es nicht um eckige Rohre. –

+0

Sorry darüber :( –

Antwort

1

Dies ist eine Art Vereinigung. Sie können über union types in typescript here lesen.

Grundsätzlich bedeutet, dass der Parameter hero: Hero | numberhero benannt vom Typ sein kann Hero oder vom Typ number, und die Funktion wird mit entweder arbeiten.

Verwandte Themen