“默认值”包含什么?

时间:2013-03-05 14:17:47

标签: parsing ecmascript-5 abstract-syntax-tree spidermonkey

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

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

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

defaults属性包含哪些内容?它总是显示为空数组。

1 个答案:

答案 0 :(得分:0)

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

例如,

    function t(i = 20) { }

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

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