Typescript - function syntactically 'between' argume



一些函数式编程语言提供了内联" between "参数调用函数的能力。我不知道这个功能的正确术语(如果我知道,我可以做一个更好的搜索:D),但希望下面是清楚的…

假设我定义了一个'add'函数:

const add = (a,b) => a+b;

由于超出这个问题范围的原因(我不是在这里讨论编码风格,这里有一个合法的用例,我保证),我希望能够像这样调用这个函数:

const result = 1 add 3;

对于我明显比上面更复杂的情况,这个语法糖将非常美味。能用打字稿吗?在某些语言中允许的上述行为的正确术语/名称是什么?

这个术语是'中缀函数',不,这在TS中基本上是不可能的。

Typescript是Javascript之上的一个非常薄的层:除了少数例外,它只支持Javascript支持的语法以及类型注释。

Javascript没有中缀函数,所以Typescript也没有。


唯一可行的方法是使用TS转换器,它本质上是编写一个自定义转译器插件,将代码转换为正常的Typescript语法。

但是这些都是脆弱的,并没有得到很好的支持,所以我个人不建议将其用于像这样的语法糖用例。