什么是Angular v5英雄教程中的hero.service.ts的deleteHero方法中的管道编号(|编号)

时间:2017-12-21 21:09:34

标签: javascript angular methods angular-services

Javascript / Typscript对我来说是新手。 当我通过Angos的英雄之旅时,我一直看到我在C#编程中没有看到的语法。

在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 个答案:

答案 0 :(得分:2)

这是一种联合类型。您可以阅读union types in typescript here

基本上movie_lst = [str(x) for x in movie_lst] 表示名为[x for x in movie_lst if not isinstance(x,str)] 的参数可以是类型hero: Hero | number或类型hero的参数,该函数可以使用。