您可以使用 Esprima 的 AST 遍历器来获取 'ObjectExpression' 类型的内容。以下是一个示例代码,它将遍历所有的 'ObjectExpression' 节点,并打印它们的属性和属性值:

const esprima = require('esprima');
const ast = esprima.parseScript('var obj = {a: 1, b: 'hello', c: true};');

function traverse(node) {
  if (node.type === 'ObjectExpression') {
    node.properties.forEach(prop => {
      console.log(prop.key.name + ': ' + prop.value.value);
    });
  }
  for (let key in node) {
    if (node.hasOwnProperty(key)) {
      let child = node[key];
      if (typeof child === 'object' && child !== null) {
        traverse(child);
      }
    }
  }
}

traverse(ast);

在上面的代码中,我们使用了 Esprima 来解析一段 JavaScript 代码,并将 AST 树传递给 traverse 函数。该函数将遍历 AST 树中的每个节点,并检查它们是否为 'ObjectExpression' 类型。如果是,它将遍历该节点的所有属性,并打印它们的名称和值。您可以使用类似的方法来获取其他类型的 AST 节点。

Esprima 4.0.1 如何获取 ObjectExpression 类型节点

原文地址: https://www.cveoy.top/t/topic/mzZH 著作权归作者所有。请勿转载和采集!

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