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

TypeScript/Vue代码中@符号是什么含义?属于哪类技术特性?

你看到的@开头的语法叫做装饰器(Decorator),不是注释,是给类、类方法、类属性等附加额外逻辑的语法糖。

关于归属的说明

  • 它不是Vue、也不是TypeScript独有的特性:最早是ES2016(ES7)提出的语法提案,目前处于TC39标准流程的stage 3阶段,尚未成为ECMAScript的正式标准。
  • TypeScript提前实现了装饰器支持,需要在tsconfig.json中开启experimentalDecorators配置项才能正常编译。
  • 你示例代码里的@Module、@Mutation、@Action是vuex-module-decorators库提供的专用装饰器,用来简化Vuex的TypeScript类式写法。

示例中各个装饰器的具体作用

装饰器本质是封装了通用逻辑的函数,编译阶段会自动把逻辑注入到它修饰的目标上,代替你写重复的模板代码:

  • @Module:将当前类标记为Vuex的模块,自动完成模块注册相关的逻辑,不需要手动写Vuex模块的配置对象。
  • @Mutation:将它修饰的方法标记为Vuex的mutation,自动封装Vuex mutation的更新规则,调用时需要通过commit触发。
  • @Action:将它修饰的方法标记为Vuex的action,自动封装Vuex action的异步处理规则,调用时需要通过dispatch触发。

它完全没有注释的作用,所以不能用//代替,注释不会参与代码编译运行,而装饰器是会实际影响代码逻辑的有效语法。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:54:02