什么是Javascript宏?

时间:2014-01-09 18:58:47

标签: javascript macros

最近我看到人们谈论在Javascript中使用宏。我不知道这意味着什么,在查找MDN文档后,我没有回答。所以这引出了我的问题......

什么是Javascript宏?它们是如何使用的?它是元编程的一种形式吗? (带有示例和示例代码的答案将非常受欢迎)

1 个答案:

答案 0 :(得分:1)

正如评论中所发表的那样,它是javascript的宏系统。

这是在“预处理阶段”定义文本替换的一种方法。所以你要定义一个宏并在你的代码中使用它,然后通过sweet.js运行它们,输出就是带有文本替换的代码。

example

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;