使用 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/mzUI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录