【问题标题】:What is Pipe number ( | number ) in the deleteHero method of hero.service.ts in Angular v5 Tour of Heroes TutorialAngular v5 英雄之旅教程中 hero.service.ts 的 deleteHero 方法中的管道号( | number )是什么
【发布时间】:2018-06-04 14:10:02
【问题描述】:

Javascript / Typscript 对我来说是新的。 在完成 Angular Tour of Heros 时,我不断看到我在 C# 编程中没有见过的语法。

在英雄之旅 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'))
  );
}

【问题讨论】:

  • 那是 Typescript,不是 Javascript。这意味着类型是数字或英雄。
  • @Sébastien 这个问题与角管无关。
  • 对不起:(

标签: javascript angular methods angular-services


【解决方案1】:

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

基本上hero: Hero | number 意味着名为hero 的参数可以是Hero 类型或number 类型,并且该函数可以与任何一个一起使用。

【讨论】:

    猜你喜欢
    • 2017-04-22
    • 2018-06-15
    • 2017-03-26
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多