Javascript / Typscript对我来说是新的 . 当我通过Angos的英雄之旅时,我一直看到我在C#编程中没有看到的语法 .
在Tour of Heroes Angular v5教程中,有一些我无法理解的javascript语法 .
有人可以帮我理解deleteHero方法定义中的“| number”是什么吗?
参考: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 回答
这是一种联合类型 . 你可以阅读union types in typescript here .
基本上
hero: Hero | number
表示名为hero
的参数可以是Hero
的类型number
,并且该函数可以使用 .