在打字稿中,我们称之为"模式匹配"喜欢功能声明?

时间:2016-04-06 22:46:27

标签: typescript destructuring

所以我在http://www.typescriptlang.org/play/玩弄打字稿。发现我们实际上可以执行以下操作直接接收对象的属性/数组元素。

示例:

function([first: int, second: int]): int{
  return first + second;
}

function([first: any, person: {name: string}]): string{
  return name;
}

然而,我无法在网上找到任何关于这种"模式匹配"类似功能的内容。 (我喜欢模式匹配;还有haskell。)

此功能非常强大。我想知道他们在打字稿中叫什么。所以我可以对此有进一步的了解。

提前致谢。

2 个答案:

答案 0 :(得分:6)

这称为解构;你在那里暗示的语法特别是参数解构

它实际上是ES6功能,您可以阅读under the MDN topic "destructuring assignment"

答案 1 :(得分:3)

它的解构:https://basarat.gitbooks.io/typescript/content/docs/destructuring.html

请不要将其称为模式匹配,因为这是它自己的事情,并且有一个单独的规范:https://gist.github.com/bterlson/da8f02b95b484cd4f8d9