我正在使用 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
属性包含哪些内容?它总是显示为空数组。
答案 0 :(得分:0)
默认的Mozilla JS AST包含ES6默认参数值。
例如,
function t(i = 20) { }
defaults will be [{ type: 'Literal', value: 20 }].
因为它基于ES6草案,所以Esprima master分支机构无法识别它。