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

javascript angular typescript atscript

5393 观看

1回复

8936 作者的声誉

在官方TypeScript 博客上发布了一张非常有趣的图片。

奇怪的语法

我不知道@(符号)符号在这里做什么,因为(据我所知)它不能在JavaScript标识符中使用。

作者: Trident D'Gao 的来源 发布者: 2015 年 3 月 6 日

回应 (1)


14

170716 作者的声誉

本周的大新闻是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开发人员手动编写这些注释是合理的。甚至可以提供一个帮助程序库。
  • 注释只能放在函数上。

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

  • 放置在字段上的注释将移至构造函数。

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

作者: Fenton 发布者: 06.03.2015 07:59
32x32