这个 TypeScript Lambda 表达式中的括号是什么意思?

Alf*_*rio 1 javascript lambda typescript ecmascript-6

我正在阅读一本关于 Angular 的书,但我找不到任何关于 lambda 表达式的括号用法的文档[hours, rate]) => this.total = hours * rate。虽然我知道我可以从 lambda 表达式的主体内部使用这些参数(小时和速率)。我不明白为什么这(hours, rate) => this.total = hours * rate)不起作用,为什么我必须使用括号 []。

Observable.combineLatest(this.invoiceForm.get('hours').valueChanges,
this.invoiceForm.get('rate').valueChanges).subscribe(
  ([hours, rate]) => this.total = hours * rate);
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释它的含义以及我可以在哪里找到有关该用法的文档。

注意:我知道 combineLatest 做了什么,我不明白的是这些括号中的 lambda 表达式用法。

t.n*_*ese 5

这就像解构赋值

function test([a, b]) {
  console.log(a, ',', b)

}

test([1, 2])
Run Code Online (Sandbox Code Playgroud)

[a, b]是你的函数的一个参数。如果将数组作为第一个参数传递给函数,则数组的第一个元素将存储ab.