You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript装饰器的AST节点名称是什么?用于ESLint选择器

TypeScript装饰器对应的ESLint AST节点名称

用于ESLint选择器的TypeScript装饰器相关AST节点主要有这些:

  • Decorator:所有单个装饰器都会被解析为这个节点类型,是装饰器本身的顶层节点
  • 搭配选择器时,常用的装饰器目标节点包括:
    • ClassDeclaration/ClassExpression:类装饰器的目标节点
    • ClassProperty:类属性装饰器的目标节点
    • MethodDefinition:类方法、访问器装饰器的目标节点
    • FunctionDeclaration/FunctionExpression:函数装饰器的目标节点(需环境支持函数装饰器语法)
本地AST节点查询方法

不用找在线工具,自己写个简单脚本就能快速查看:

  1. 先安装依赖:npm install @typescript-eslint/parser
  2. 创建脚本文件(比如ast-check.js),写入以下代码:
const { parse } = require('@typescript-eslint/parser');
// 替换成你要测试的带装饰器的代码
const testCode = `
@ClassDecorator
class Demo {
  @PropDecorator
  name: string;

  @MethodDecorator
  greet() {}
}
`;
const ast = parse(testCode, {
  sourceType: 'module',
  ecmaVersion: 'latest',
  parserOptions: { tsconfigRootDir: __dirname }
});
// 打印完整AST结构,直接搜索Decorator相关字段即可
console.log(JSON.stringify(ast, null, 2));
  1. 运行脚本:node ast-check.js,输出的JSON里就能清楚看到每个装饰器对应的节点类型和关联的目标节点。

另外,在ESLint规则开发过程中,也可以在规则逻辑里直接打印触发节点的type属性,快速确认节点名称。

内容的提问来源于stack exchange,提问作者user21020386

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 20:55:19