typescript - 打字稿-在语法上“在”参数之间起作用
问题描述
一些函数式编程语言提供了在“参数之间”内联调用函数的能力。我不知道此功能的正确术语(如果我知道,我可以进行更好的搜索:D),但希望以下内容很清楚..
假设我定义了一个“添加”函数:
const add = (a,b) => a+b;
出于这个问题范围之外的原因(我不是来讨论编码风格的,这里有一个合法的用例,我保证),我希望能够像这样调用这个函数:
const result = 1 add 3;
对于我显然比上面更复杂的情况,这种语法糖会非常好吃。打字稿可以吗?某些语言中允许的上述行为的正确术语/名称是什么?
解决方案
这方面的术语是“中缀函数”,不,这在 TS 中基本上是不可能的。
Typescript 是 Javascript 之上的一个非常薄的层:除了少数例外,它只支持 Javascript 支持的语法以及类型注释。
并且 Javascript 没有中缀函数,所以 Typescript 也没有。
唯一可行的方法是使用TS 转换器,它本质上是编写一个自定义转换器插件,将代码转换为正常的 Typescript 语法。
但这些都很脆弱,支持得不是很好,所以我个人不建议将它用于这样的语法糖用例。
推荐阅读
- android - AndroidX Dagger2 MultiDexApplication:不实现 HasActivityInjector
- python - 如何在af字符串表达式中将数字格式化为两位小数?
- c++ - 使用 wchar_t 更改字符类型不像 L
- servicestack - 内存中的 ServiceStack 客户端内存限制
- python-2.7 - Python Fiware Orion 上下文代理问题
- php - 如何使用引导程序安排网页布局?
- java - 在Java中将一个类中的枚举转换为另一个类
- image - 使用 webpack 加载本地图片
- cookies - 谷歌标签管理器:如果值发生变化,更新 cookie 值和触发标签
- python - ValueError:格式错误的 sha1_crypt 哈希(校验和必须正好是 28 个字符)