2017-12-21 16 views
0

Javascript/Typscriptは私にとって初めてのものです。 私はHerosのAngular Tourを通して作業しているので、私はC#プログラミングでは見たことのない構文を見ています。Anger v5のhero.service.tsのdeleteHeroメソッドのパイプ番号(| number)は何ですか?ヒーローのツアーチュートリアル

Tour of Heroes Angular v5チュートリアルでは、理解できないjavascriptの構文があります。

「番号」がdeleteHeroメソッド定義に含まれていることを理解できますか?

参考: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

これはJavascriptではなくTypescriptです。これは、タイプが数字かヒーローのいずれかであることを意味します。 –

+0

@Sébastienこの質問は角パイプに関するものではありません。 –

+0

ごめんなさい:( –

答えて

1

これは、共用体型です。 union types in typescript hereについて読むことができます。基本的には

hero: Hero | numberheroという名前のパラメータがタイプHero ORタイプnumberののものとすることができることを意味し、機能のいずれかで動作します。

関連する問題