javascript - 是否有 Julia 的 JavaScript 和 TypeScript 元编程和宏的等价物?

标签 javascript typescript macros julia metaprogramming

我习惯了 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/

相关文章:

javascript - Webpack:您可能需要适当的加载器来处理此文件类型

angular - 如何在 TabView (PrimeNG) 中延迟加载 Angular 2 组件?

c++ - 自定义 C++ 断言宏

c - 如何确定何时使用 -fsanitize=memory?

javascript - 如何使用 javascript 获取 CSS 属性的有效值列表?

javascript - Jquery slideToggle 从屏幕顶部滑动一个 div - 但屏幕顶部在滚动期间发生变化并且 div 不可见

typescript - Webpack:导入 TypeScript 模块 "normally"和原始字符串

javascript - Cytoscape 布局 - 找不到这样的布局可乐

C 宏预处理器将数字映射到类型

javascript - react 终极版 : Confused about where to define certain actions