如何在 AST 中获取 typeof 变量?

How to get typeof variable in AST?

如何获取AST中变量的typeof是什么?

const code = `const foo = () => {
  const baz = this;
}`;

我想找到类型为 globalThis 的变量。 (例如 baztypeof globalThis

知道怎么做吗?

转换代码:

module.exports = (fileInfo, api, options) => {
  
  const j = api.jscodeshift;
  const root = j(fileInfo.source);
  
  root.find(j.Identifier)
   .forEach(x => {
    if (x.value.name === 'baz') {
        console.log({ x });
        // type: typeof globalThis??
    }
    
  });
  
  return root.toSource();
}

astexplorer

首先,您正在查看错误的 AST 查看器。

对于 TS,您可以使用 TS AST viewer 或者,你可以直接使用 TS 编译器 API,你可以找到 here