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

时间: 2024-08-06 20:05:20

TypeScript 1.5 Beta带来修饰元数据支持的相关文章

翻译: TypeScript 1.8 Beta 发布

原文地址:https://blogs.msdn.microsoft.com/typescript/2016/01/28/announcing-typescript-1-8-beta/ 今天,我们发布了 TypeScript 1.8 Beta,伴随着 1.8 版本带来了大量的变化.欢迎使用并反馈给我们:send us your feedback. 可以从  Visual Studio 2015, NuGet (Compiler 和 MSBuild task), npm, 或者直接从 source 

CUBRID学习笔记 16 元数据支持

简化了很多 ,在sqlserver需要用语句实现的功能 接口如下 public DataTable GetDatabases(string[] filters) public DataTable GetTables(string[] filters) public DataTable GetViews(string[] filters) public DataTable GetColumns(string[] filters) public DataTable GetIndexes(string

TypeScript系列1-1.5版本新特性

1. 简介 随着PC端快速向移动端迁移,移动(体验)优先的概念也越来越响.由于ReactJS目前移动端仅仅支持iOS,因此移动端Web开发框架只能选择: AngularJS/Angula2 + Ionic框架 + Cordova.想要学习好Angula2以及阅读其代码, 就必须了解和学习TypeScript,也因此需要学习好ES6以及Web Component.近期将开始学习TypeScript语言. 下面先看看TypeScript语言的发展: 鉴于JavaScript这种脚本语言很难应用于大规

Fedora 24 Beta 版发布下载!

Fedora 24 Beta 在经过三次延期后终于在 2016 年 5 月 10 日放出,除了对传统 32 位和 64 位架构的支持外,此次 Fedora 24 Beta 还额外增加了对 PPC64.PPC64el 和 ARM64 的支持.此外,你还可以下载和测试基于云和 Docker 的 Beta 映像.为了满足不同的测试环境和特定用例,此次的测试版主要发布了 Fedora 24 Cloud Beta.Fedora 24 Server Beta 和 Fedora 24 Workstation

Angular基础(三) TypeScript

一.模仿Reddit a) 运行ng new –ng4angular-reddit创建应用,从随书代码中复制样式文件,新建组件app-root,代码为: 界面可以看到了: b) 对于界面输入的数据,获取的方式有点特别,使用了#newlink这样的语法,newlink是一个对象,现在代表就是所在的input这个DOM元素. 将对象作为参数传递给addArticle方法,在对应的ts代码中,可以获取newlink.value.newlink是HTMLInputElement类型. c)关于参数的绑定

[原创]Kudu:支持快速分析的新型Hadoop存储系统

Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的新成员之一(incubating),专门为了对快速变化的数据进行快速的分析,填补了以往Hadoop存储层的空缺.本文主要对Kudu的动机.背景,以及架构进行简单介绍. 背景——功能上的空白 Hadoop生态系统有很多组件,每一个组件有不同的功能.在现实场景中,用户往往需要同时部署很多Hadoop工具来解决同一个问题,这种架构称为混合架构 (hybrid architecture).比如,用户需要利用Hbase的

使用Typescript来写javascript

使用Typescript来写javascript 前几天尝试使用haxejs来写javascript,以获得静态类型带来的益处.虽然成功了,但很快发现将它与angularjs一起使用,有一些不太顺畅的地方,导致开发效率没有提升,反而下降了.虽然我认为使用haxejs来写普通的js(或者与jquery相关的js)没有问题,但不适合与angularjs这样与HTML侵入较大的js框架配合. 昨天偶然发现idea居然支持typescript了,于是打算尝试一下typescript,目前的感觉还不错,相

Kudu,支持快速分析的新型Hadoop存储系统

Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的新成员之一(incubating),专门为了对快速变化的数据进行快速的分析,填补了以往Hadoop存储层的空缺.本文主要对Kudu的动机.背景,以及架构进行简单介绍. 背景--功能上的空白 Hadoop生态系统有很多组件,每一个组件有不同的功能.在现实场景中,用户往往需要同时部署很多Hadoop工具来解决同一个问题,这种架构称为混合架构 (hybrid architecture).比如,用户需要利用Hbase的

Kudu:支持快速分析的新型Hadoop存储系统

本文由  网易云发布. Kudu是Cloudera开源的新型列式存储系统,是Apache Hadoop生态圈的新成员之一(incuba ng),专门为了对快速变化的数据进行快速的分析,填补了以往Hadoop存储层的空缺.本文主要对Kudu的动机.背景,以及架构进行简单介绍. 背景--功能上的空白 Hadoop生态系统有很多组件,每一个组件有不同的功能.在现实场景中,用户往往需要同时部署很多Hadoop工具来解决同一个问题,这种架构称为混合架构 (hybrid architecture).比如,用