我习惯了 Julia 宏(元编程),这是一种非常方便的生成灵活代码的方法。
https://docs.julialang.org/en/v1/manual/metaprogramming/
是否有 JavaScript 或 TypeScript 的等价物。比如一个包或一种工作方式?
最佳答案
不,没有等价物。 ECMAScript 和 TypeScript 都没有宏。
有一个 Decorators 的建议,这将允许你做你可以用宏做的一小部分,但这个提议仍然在 Stage 2的规范过程。
目前没有官方提议将宏添加到 ECMAScript(我查看了所有 Stage 3、Stage 2、Stage 1 和 Stage 0 提议的列表),也从来没有(我还检查了非事件和撤回的提议)。然而,关于它的讨论反复出现,尤其是因为在某一时刻,一些 Scheme 设计者也是 ECMAScript 委员会的成员。
在 Julia、Scheme、Rust、Boo、Nemerle 和 co 等语言中使用宏可以实现什么。通常使用 ECMAScript 社区中的源到源编译器(有时称为转译器)来解决。其中最受欢迎的是Babel . Babel 主要用于“编译掉”较新的语言功能,即允许程序员使用最新的语言功能甚至尚未发布的提案,但仍然在只有旧版本语言可用的环境中运行代码。
但是,有一些可用的第三方宏库可以通过……您猜对了……源到源的转换将宏添加到 ECMAScript。其中之一是 Sweet.js .
关于javascript - 是否有 Julia 的 JavaScript 和 TypeScript 元编程和宏的等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64192373/