esprima401 获取函数类型的数据
使用 Esprima 4.0.1 可以通过遍历抽象语法树(AST)来获取函数类型的数据。下面是一个示例代码:
const esprima = require('esprima');
const code = `
function add(a, b) {
return a + b;
}
`;
const ast = esprima.parseScript(code);
ast.body.forEach(node => {
if (node.type === 'FunctionDeclaration') {
console.log(node.id.name); // 输出函数名
console.log(node.params.map(param => param.name)); // 输出参数名
console.log(node.body.type); // 输出函数体类型
}
});
这个代码会输出以下内容:
add
[ 'a', 'b' ]
BlockStatement
其中 FunctionDeclaration 是函数声明节点的类型,id 属性表示函数的名字,params 属性表示函数的参数列表,body 属性表示函数体。在函数体中,如果是一个普通函数,其类型为 BlockStatement,如果是一个箭头函数,其类型为 ArrowFunctionExpression。
原文地址: https://www.cveoy.top/t/topic/9XH 著作权归作者所有。请勿转载和采集!