TypeScript 1.5 中加入了模块、修饰符、Sublime Text 的插件等新特性

  • 2015-04-05
  • 本文字数:811 字

    阅读完需:约 3 分钟

微软刚刚发布了 TypeScript 的 1.5 alpha 版本,添加了大量的新特性,包括:模块、修饰符(Decorator)、用于 Sublime Text 的插件,for…of 循环,ES6 Unicode、计算属性,并且支持以 ES5 为编译目标时也可以使用 let/const 特性。

模块是所有特性中最令人期待的一个,而 TypeScript 1.5 中终于加入了这一特性,并且它们的定义方式与 ES6 相同,包括默认的 export/import 标识符。以下代码片段展示了如何使用模块的方式:

// math.ts
export function add(x, y) { return x + y }
export function subtract(x, y) { return x – y }
export default function multiply(x, y) { return x * y }

// main.ts
import {add, subtract} from "math";
import times from "math";

或是选择导入所有函数


// main.ts
import * as Math from "math";

虽然微软也有打算支持现有的外部模块,但他们还是建议开发者“使用功能更强的 ES6 模块语法。”

新版本中还加入了一个新的 TypeScript 特性,当前还只是预览形式,这就是 _修饰符 _。这是一个 ES7 中的建议语法,按照修饰符这一提议的一位提议人 Yehuda Katz 所说:“这是元数据注解符(annotation)功能的严格超集”。以下这个代码片段就是一种使用修饰符的示例,它用于存储一个 getter/setter 对:


class Person {
 @memoize
 get name() { return `${this.first} ${this.last}` }

 set name(val) {
   let [first, last] = val.split(' ');
   this.first = first;
   this.last = last;
 }
}

微软同时也推出了一个 Sublime Text 的插件,允许使用 Sublime Text 这个编辑器的开发者在其中创建、格式化并重构 TypeScript 代码。这一插件支持 Linux、OSX 和 Windows 平台上的 Sublime Text 2 与 3 两个版本。

在 TypeScript 1.5 中出现的其它新特性包括:for…of 循环、ES6 Unicode、计算属性,并且支持以ES5 为编译目标时也可以使用let/const 特性。

查看英文原文: TypeScript 1.5: Modules, Decorators, Sublime Text Plug-in and More