微软刚刚发布了 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
评论