服务型网站建设的主题,seo专员有前途吗,效果型网站建设,wordpress 批量TypeScript是微软开发的一个JavaScript的超集#xff0c;提供了最新的JavaScript特性以及可选的静态类型。近日#xff0c;TypeScript 2.1发布。该版本提供了功能更为强大的类型检查器#xff0c;并且让开发人员可以编写出更简洁的代码。以下是该版本带来的主要新特性#… TypeScript是微软开发的一个JavaScript的超集提供了最新的JavaScript特性以及可选的静态类型。近日TypeScript 2.1发布。该版本提供了功能更为强大的类型检查器并且让开发人员可以编写出更简洁的代码。以下是该版本带来的主要新特性 Downlevel async/await虽然之前的版本已经提供了async/await但downlevel async/await让开发人员可以在ES3/ES5环境里使用该特性。Object RestSpread这是ES2017的一项新提案让开发人员可以便捷地合并、拆解以及部分地复制对象。在使用类似Redux这样的库时这一特性已经被广泛地使用。Object Spread让开发人员可以便捷地复制一个对象如下所示 let copy { ...original };类似地我们可以合并多个不同的对象如下所示合并后的对象将同时具有foo、bar和baz的属性 let merged { ...foo, ...bar, ...baz };开发人员也可以在合并后的对象中添加新属性。Object Rest是一个相对的过程它可以排除特定的属性如下所示 let { a, b, c, ...defghijklmnopqrstuvwxyz } alphabet;keyof和Lookup类型实际上keyof操作符被称为“索引类型查询index type query”它就像一个查询对象类型的键的查询如下所示 interface Person {name: string;age: number;location: string;}let propName: keyof Person;上述代码也可以写成如下形式 let propName: name | age | location;而Lookup类型被称为“索引访问类型indexed access types”它看上去像访问一个元素如下所示 interface Person {name: string;age: number;location: string;}let a: Person[age];“映射类型Mapped Types”这是TypeScript 2.1最令人感兴趣的特性。假如我们有一个Person类型如下所示 interface Person {name: string;age: number;location: string;}如果我们希望以此为基础创建一个属性全为布尔值的类型那么我们需要定义一个全新的类型 interface BooleanifiedPerson {name: boolean;age: boolean;location: boolean;}而借助映射类型我们可以将BooleanifiedPerson定义为 type BooleanifiedPerson {[P in name | age | location]: boolean};借助keyof操作符上述代码还可以进一步简化为 type BooleanifiedPerson {[P in keyof Person]: boolean};Partial类型让开发人员可以创建现有类型的所有可选版本。此外TypeScript 2.1还提供了Readonly、Record和Pick等实用类型感兴趣的读者可以点击这里查看它们的实现方式。 此外TypeScript 2.1还放松了对程序包导入的检查只要用户安装了就可以使用TypeScript将不会再因为找不到相关的声明文件而提示错误。 感兴趣的读者可以通过NuGet获取TypeScript也可以通过npm进行安装 npm install -g typescript Visual Studio 2015用户需要首先升级到Update 3再通过专门的安装包进行安装。Visual Studio Code或Sublime Text用户也可以根据相关的说明使用最新版本的TypeScript。 原文地址http://www.infoq.com/cn/news/2016/12/TypeScript-2-1-publish .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注