最近我看到人们谈论在Javascript中使用宏。我不知道这意味着什么,在查找MDN文档后,我没有回答。所以这引出了我的问题......
什么是Javascript宏?它们是如何使用的?它是元编程的一种形式吗? (带有示例和示例代码的答案将非常受欢迎)
答案 0 :(得分:1)
正如评论中所发表的那样,它是javascript的宏系统。
这是在“预处理阶段”定义文本替换的一种方法。所以你要定义一个宏并在你的代码中使用它,然后通过sweet.js运行它们,输出就是带有文本替换的代码。
macro swap {
rule { ($a, $b) } => {
var tmp = $a;
$a = $b;
$b = tmp;
}
}
var a = 10;
var b = 20;
swap (a, b)
通过sweet.js运行后,我们得到了扩展代码:
var a$1 = 10;
var b$2 = 20;
var tmp$3 = a$1;
a$1 = b$2;
b$2 = tmp$3;