TypeScript 1.5 Beta带来修饰元数据支持

(此文章同时发表在本人微信公众号“dotNET每日精华文章”)

今天由于有点小感冒,就不长篇大论了,简单介绍一下和VS 2015 RC一同发布的TypeScript 1.5 Beta的新特性——修饰元数据。

在Build 2015大会上,微软与Visual Studio 2015 RC一同发布了TypeScript 1.5 Beta,通过这个测试版可以了解到TypeScript未来开发进度的情况。微软分别提供了VS2015 RC、VS2013、npm和源代码的安装方式。

TypeScript 1.5 Beta最大的改变是引入了修饰元数据(Decorator Metadata)的特性,可以让你在声明的时候添加和读取元数据。这一特性的用途在于未来可以给其他函数库(比如Angular 2Aurelia)提供元数据的支持,从而让这些函数库可以自动设置类似依赖注入这样的特性。

具体的写法如下:

///<reference path="node_modules\reflect-metadata\reflect-metadata.d.ts"/>

import "reflect-metadata";

function MyClassDecorator(value: string) {
  return function (target: Function) {
      Reflect.defineMetadata("MyClassDecorator", value, target);
  }
}

@MyClassDecorator("my metadata")
class MyClass { }

var myClass = new MyClass();
let value: string = Reflect.getMetadata("MyClassDecorator", myClass.constructor);
console.log(value); // outputs "my metadata"

更详细说明可“阅读原文”。

原文地址:http://blogs.msdn.com/b/typescript/archive/2015/04/30/announcing-typescript-1-5-beta.aspx