在hero.service.ts Angular v5 Tour of Heroes Tutorial中,箭头函数(_ =>)前面的Underscore是什么?

时间:2017-12-22 04:04:05

标签: javascript angularjs typescript angular-services

我有打字稿或javascript语法问题。 谁能告诉我_ => this.log ...意味着什么?

我习惯于看到一个名称,参数传递给那里的箭头函数。

它只是意味着没有参数'?

参考:https://angular.io/tutorial/toh-pt6#add-heroserviceupdatehero

    /** 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'))
  );
}

2 个答案:

答案 0 :(得分:4)

它只是一个命名参数的概念,该参数不会在函数中使用。

相反,他们会这样写:

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

如果您想了解更多内容,this post是一个良好的开端。

答案 1 :(得分:0)

() => {console.log('Hello World')}  和 _ => {console.log('Hello World')}

如果您的函数不需要参数,两者都是相同的。

下划线(_)只是一个可抛弃的变量,这意味着它可以是任何变量名,因为它将永远不会被使用。只是他们通常使用下划线表示该函数不需要参数。

我使用()=>编写了不带参数的函数,但是我看到了很多使用下划线的版本,所以很高兴理解它。