在打字稿中,我们把这个 "pattern matching" 之类的函数声明称为什么?
In typescript, what do we call this "pattern matching" like function declaration?
所以我在 http://www.typescriptlang.org/play/ 玩打字稿。发现我们实际上可以执行以下操作来直接接收对象的 property/array 元素。
示例:
function([first: int, second: int]): int{
return first + second;
}
function([first: any, person: {name: string}]): string{
return name;
}
但是,我在网上找不到任何地方谈论这个类似于 "pattern matching" 的功能。 (我喜欢模式匹配;并且 haskell。)
这个功能太强大了。我想知道它们在打字稿中的名称。这样我就可以进一步阅读。
提前致谢。
这叫做解构;你在那里暗示的语法特别是参数解构。
它实际上是一个 ES6 特性,你可以阅读它under the MDN topic "destructuring assignment"
它的解构:https://basarat.gitbooks.io/typescript/content/docs/destructuring.html
请不要称它为模式匹配,因为那是它自己的东西并且有单独的规范:https://gist.github.com/bterlson/da8f02b95b484cd4f8d9
所以我在 http://www.typescriptlang.org/play/ 玩打字稿。发现我们实际上可以执行以下操作来直接接收对象的 property/array 元素。
示例:
function([first: int, second: int]): int{
return first + second;
}
function([first: any, person: {name: string}]): string{
return name;
}
但是,我在网上找不到任何地方谈论这个类似于 "pattern matching" 的功能。 (我喜欢模式匹配;并且 haskell。)
这个功能太强大了。我想知道它们在打字稿中的名称。这样我就可以进一步阅读。
提前致谢。
这叫做解构;你在那里暗示的语法特别是参数解构。
它实际上是一个 ES6 特性,你可以阅读它under the MDN topic "destructuring assignment"
它的解构:https://basarat.gitbooks.io/typescript/content/docs/destructuring.html
请不要称它为模式匹配,因为那是它自己的东西并且有单独的规范:https://gist.github.com/bterlson/da8f02b95b484cd4f8d9