是否有相当于 Julia 的 JavaScript 和 TypeScript 元编程和宏的工具?

Mor*_*ane 5 javascript macros metaprogramming julia typescript

我习惯了 Julia 宏(元编程),这是生成灵活代码的一种非常方便的方法。

https://docs.julialang.org/en/v1/manual/metaprogramming/

是否有 JavaScript 或 TypeScript 的等效项。比如一个包或者一种工作方式?

Jör*_*tag 5

不,没有同等的东西。ECMAScript 和 TypeScript 都没有宏。

\n

有一个关于Decorators的提案,它允许您做宏可以做的事情的一小部分,但该提案仍处于规范过程的第 2 阶段。

\n

目前还没有将宏添加到 ECMAScript 的官方提案(我浏览了所有第 3 阶段、第 2 阶段、第 1 阶段和第 0 阶段提案的列表),也从未有过(我还检查了非活动和撤回的提案)。然而,关于它的讨论反复出现,尤其是在某一时刻,一些方案设计者也是 ECMAScript 委员会的成员。

\n

在 Julia、Scheme、Rust、Boo、Nemerle 等语言中使用宏可以实现什么目标。通常通过 ECMAScript 社区中的源到源编译器(有时称为转译器)来解决。其中最受欢迎的是Babel巴别塔主要用于“编译”较新的语言功能,即允许程序员使用最新的语言功能甚至尚未发布的提案,但仍然在只有旧版本的语言可用的环境中运行代码。

\n

然而,有一些第三方宏库可以通过 \xe2\x80\xa6 将宏添加到 ECMAScript,您猜对了 \xe2\x80\xa6 源到源转译其中之一是Sweet.js

\n