角色教程英雄之旅," _"表示以下代码

时间:2018-01-05 17:22:14

标签: angular typescript

我正在跟随英雄的官方教程之旅。

我在hero.service.ts中遇到了一个问题,其功能是使用HTTP PUT方法更新新英雄。

这样的代码:

/** PUT: update the hero on the server */
updateHero(hero: Hero): Observable<any> {
  return this.http.put(this.heroesUrl, hero, httpOptions).pipe(
     tap(_ => this.log(`updated hero id=${hero.id}`)),
     catchError(this.handleError<any>('updateHero'))
);

那么_在代码中的含义是什么?

1 个答案:

答案 0 :(得分:1)

在这种情况下,

_只是用于缩短箭头功能的空白标识符。所以在这种情况下

_ => this.log(`updated hero id=${hero.id}`)

等同于

() => this.log(`updated hero id=${hero.id}`)

稍有不同,_可以作为箭头函数中的参数访问(尽管它可能具有值undefined),而第二个代码段不会有任何可访问权限参数。

最后,以_开头的变量(或只是_本身)在typescript中有一个特殊的属性。在设置--noUnusedParameters标志时,如果不使用这些变量,则不会导致编译错误。