首页 文章

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

提问于
浏览
1

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 回答

  • 2

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

    基本上 hero: Hero | number 表示名为 hero 的参数可以是 Hero 的类型 number ,并且该函数可以使用 .

相关问题