TypeScript 2.0 已发布

微软最近发布了TypeScript 2.0,该版本提供了简化的声明文件获取、Non-nullable类型,以及Readonly修饰符。

TypeScript项目经理Daniel Rosenwasser称,他们团队对于该版本“紧随ECMAScript规范,为JavaScript库和工具提供了更广泛的支持,并通过一个语言服务在各大编辑器中提供了一流的编辑体验”感到极为“兴奋”。

TypeScript 2.0使得开发者可以更容易地获取并使用声明文件。Rosenwasser承认“学习如何获取和管理声明文件的依赖性”过去一直是用户最头疼的问题,但在2.0版中通过npm install --save @types/lodash命令即可安装范围包@types/lodash,随后当开发者的程序中任何位置导入Lodash后,TypeScript 2.0将能自动引用。

Non-nullable类型是2.0版引入的另一个新功能。虽然该语言最初的设想是所有类型始终为Nullable的,但实际上该团队也发现,这样的设计并不能预防null/undefined问题。在此次发布的新版中,null和undefined均有自己的类型,借此开发者可以明确表示何时可接受null/undefined值。下列视频展示了TypeScript的这一特性。

插入一个视频:https://msdnshared.blob.core.windows.net/media/2016/09/nonnullable-types-fade.mp4

TypeScript 2.0中的属性可声明为只读的,随后所有不包含Set-accessor的Get-accessor均会被视作只读的。

class Person { readonly name: string; constructor(name: string) { if (name.length < 1) { throw new Error("Empty name!"); } this.name = name; }}// Error! 'name' is read-only.new Person("Daniel").name = "Dan";
整个社区对微软此次发布的新版给予极高评价。Ed Rochenski在HackerNews报道中表达了自己的意见:

我已经迫不及待想要在我们的生产应用中使用这些新功能了。TypeScript一直是我步入JavaScript开发的桥梁,IMHO JavaScript早已被废弃,真不知道如果没有TypeScript的话我能否继续坚持使用JavaScript来开发。

Non-nullable类型、可加标签的Union类型,以及更简单的声明文件,这些是新版中最让我激动的功能。

在Rosenwasser的博客文章中,用户Allen通过评论问到:“我很想在自己的代码库中使用strictNullChecks,但能否通过什么方法让某些/全部库类型定义继续使用lax null检查?”据称他在配合外部类型定义使用strictNullChecks时遇到了问题,因为所用库的类型定义并非严格Null safe的。

Rosenwasser回应称:“目前需要针对strictNullChecks创建依赖项,虽然很多第三方.d.ts文件不受影响可以继续使用,但如果遇到问题,可以随时向types-2.0分支的DefinitelyTyped发送Pull请求。”

根据路线图的介绍,TypeScript还支持ES8对象属性的Spread和Rest,以及函数表达式/箭头函数的装饰器(Decorator),并可支持节点注册钩子。自TypeScript 1.8以来完整的改进和变更清单可访问该项目的GitHub页面。

本文转自d1net(转载)

时间: 2024-09-15 00:01:45

TypeScript 2.0 已发布的相关文章

微软发布TypeScript 2.0 RC版本

微软释放了TypeScript 2.0的发布候选版本,包含了tagged union功能以及对globs的支持. 在微软博客的声明中,TypeScript的项目主管Daniel Rosenwasser这样说到: "这个RC版本能够帮助我们了解完整的2.0版本会是什么样子,我们正在寻求广泛的反馈,使其更加稳定,从而让2.0成为一个可靠的发布版本.整体而言,对于通常的使用来说,这个RC版本足够稳定,从这个时间点开始,我们不会再添加重要的新特性了." 其实,从2.0 beta版本发布到现在,

TypeScript 2.0 正式发布

9 月 22 日,TypeScript 2.0 正式发布了. TypeScript 是微软开发的开源的编程语言,主要负责人是 C# 之父 Anders Hejlsberg. TypeScript 成功将 JavaScript 的潜能与静态类型结合了起来,而且编译为 JavaScript.编译时类型检查可以避免很多潜在的 Bug,而且 TypeScript 的编辑器工具也大大提升了开发效率. TypeScript 语言官网. 一起回顾一下 TypeScript 的发展之路. 发展之路 TypeSc

本文讲的是[译] jQuery 3.0 终于发布了

本文讲的是[译] jQuery 3.0 终于发布了, 从2014年10月开发到现在,jQuery 3.0终于发布了!我们的目的是创造一个更苗条.更快的jQuery版本(并且考虑到了向后兼容性).我们已经删除了旧的IE浏览器的解决方案支持并且采用了一些更现代化的 web API.它是2.x分支的延续,并且加入了几项我们认为早该加入的重大改变.虽然 1.12 和 2.2 分支在短时间内会继续收到关键的补丁,但不会有新的功能和重大更改.jQuery 3.0是jQuery的未来.如果你需要支持IE6-8

Apache Jackrabbit Oak 1.0.7 发布

Apache Jackrabbit Oak 1.0.7 发布,此版本现已提供下载.此版本是个分支版本,包括 bug 修复和系统改进,建议每位用户都升级到最新版本!更多更新内容请看发行说明. Changes in Oak 1.0.7 -------------------- Bug 修复 [OAK-1768] - DocumentNodeBuilder.setChildNode() runs OOM with large tree [OAK-2118] - Aggregation cursor i

Hugo 0.21 发布,Go 编写的静态网站生成器

Hugo 0.21 已发布,Hugo 是 Go 编写的静态网站生成器,速度快,易用,可配置.Hugo 有一个内容和模板目录,把他们渲染到完全的 HTML 网站. 该版本全面支持各个 Output Format (#3220) 缩写,这对具有多个自定义 media 标签的 Google AMP 尤其有用. 此外,Hugo 的许多模板功能已引入了 namespaces,现在它们能通过自己的测试和示例能很好地分类到 namespaces 中,并附有一个 API ,可以以此确保它是正确的和最新的. 文章

加快中国开源产业发展 Rancher2.0全新发布

本文讲的是加快中国开源产业发展 Rancher2.0全新发布[IT168 云计算]9月27日,"Rancher 2.0发布暨中国区用户及合作伙伴大会"在京成功举办.作为容器技术的行业盛会,Rancher Labs首席执行官兼联合创始人梁胜博士携手合作伙伴向与会专家和行业精英带来了容器技术的最新趋势以及成功案例. 此外,在大会上,Rancher Labs更隆重推出首个能在同一平台上管理全部Kubernetes集群的最新平台技术--Rancher 2.0,其强大的功能和优质的用户体验,能够

Presto 0.179 发布,Facebook 大数据查询引擎

Presto 0.179 已发布,Presto 是 Facebook 开源的数据查询引擎,可对250PB以上的数据进行快速地交互式分析,查询的速度达到商业数据仓库的级别.据称该引擎的性能是 Hive 的 10 倍以上. Presto 可以查询包括 Hive.Cassandra 甚至是一些商业的数据存储产品.单个 Presto 查询可合并来自多个数据源的数据进行统一分析. 更新内容: 新增基于文件的全局安全性,可以使用 "etc / access-control.properties"

Swoole-1.7.22 版本已发布,修复PHP7相关问题_php实例

swoole-1.7.22 版本已发布,此版本是一个BUG修复版本,专门针对PHP7做了大量修改,可完美运行于PHP7环境. 更新内容如下: 修复PHP7下HttpServer发生内存泄漏的问题 修复PHP7下core dump的问题 修复swoole_table->del出现错误的问题(重要问题) 增加swoole_client->send/recv的socket参数选项 增加swoole_async_set新配置socket_dontwait/socket_buffer_size/enab

已发布的web项目,我想在aspx的页面上增加一行统计,统计grid里面的一个值

问题描述 <BODYleftMargin="0"topMargin="0"><formid="Form1"method="post"runat="server"><TABLEcellSpacing="0"cellPadding="0"width="100%"border="0"><TRc