Javascript 在最新的TypeScript(大概是v1.5版)示例中,@(at符号)是什么意思?

Javascript 在最新的TypeScript(大概是v1.5版)示例中,@(at符号)是什么意思?,javascript,angular,typescript,atscript,Javascript,Angular,Typescript,Atscript,有一张很有趣的照片贴在了官方的打字稿上 我想知道@(at符号)符号在那里做什么,因为(据我所知)它不能用于JavaScript标识符。本周的大新闻是AtScript和TypeScript的合并 下面是AtScript文档中的示例 @Component() class MyApp { server:Server; @Bind('name') name:string; @Event('foo') fooFn:Function; @Inject() constructor(@pa

有一张很有趣的照片贴在了官方的打字稿上


我想知道@(at符号)符号在那里做什么,因为(据我所知)它不能用于JavaScript标识符。

本周的大新闻是AtScript和TypeScript的合并

下面是AtScript文档中的示例

@Component()
class MyApp {
  server:Server;
  @Bind('name') name:string;
  @Event('foo') fooFn:Function;
  @Inject()
  constructor(@parent server:Server) {}
  greet():string {}
}
编译成以下JavaScript

function MyApp() {}
MyApp.properties = {
  'server': { is: Server },
  'name': { is:string,
            annotate: [new Bind('name']},
  'fooFn': { is:Function,
             annotate:[new Event('foo')]}
}
MyApp.annotate = [
  new Component(),
  new Inject()
];
MyApp.parameters = [
  {is:Server, annotate:[parent]}
];
MyApp.prototype.greet = function() {}
MyApp.prototype.greet.returns = string;
AtScript原本计划是在TypeScript之上的一个层(即一个超级集的超级集),但现在是

:

  • AtScript注释语法只是在ES5中放置相同信息的简写。ES5开发人员手动编写这些注释是合理的。甚至可以提供助手库
  • 注释只能放在函数上

  • 放置在类上的注释是放置在类的构造函数上的注释

  • 放置在字段上的注释被移动到构造函数中

  • 所有注释都转换为函数的属性


我会仔细阅读atscript。在TypeScript中,“@”操作符表示一个修饰符(在上面的例子中,是类修饰符)。您可以在中了解更多有关装饰师的信息。