0

我正在使用Esprima解析器,它输出与Mozilla Spider Monkey Parser API兼容的AST格式。

Mozilla Docs中,它将Function节点指定为:

interface Function <: Node {
    id: Identifier | null;
    params: [ Pattern ];
    defaults: [ Expression ];
    rest: Identifier | null;
    body: BlockStatement | Expression;
    generator: boolean;
    expression: boolean;
}

财产将defaults包含什么?它总是显示为一个空数组。

4

1 回答 1

0

Mozilla JS AST 的默认值包含 ES6 默认参数值。

例如,

    function t(i = 20) { }

defaults will be [{ type: 'Literal', value: 20 }].

因为它是基于 ES6 草案的,所以 Esprima master 分支无法识别它。

于 2013-03-13T05:44:27.910 回答