微软发布TypeScript 2.0 RC版本

微软释放了TypeScript 2.0的发布候选版本,包含了tagged union功能以及对globs的支持。

在微软博客的声明中,TypeScript的项目主管Daniel Rosenwasser这样说到:

“这个RC版本能够帮助我们了解完整的2.0版本会是什么样子,我们正在寻求广泛的反馈,使其更加稳定,从而让2.0成为一个可靠的发布版本。整体而言,对于通常的使用来说,这个RC版本足够稳定,从这个时间点开始,我们不会再添加重要的新特性了。”

其实,从2.0 beta版本发布到现在,有很多新内容添加了进来。

在TypeScript的发布候选版本中,最重要的更新之一就是tagged union。

Rosenwasser说到,“借助tagged union功能,我们能够按照现在编写JavaScript的模式,更加容易地实现类型安全性”。在这个领域,JavaScript可能已经落后于像F#、Swift和Rust这样的语言,通过tagged union,TypeScript能够基于kind域来识别类型,如下所示:

function getArea(shape: Shape) { switch (shape.kind) { case "circle": //从'Shape'转换为'Circle' let c = shape as Circle; return Math.PI * c.radius 2; case "square": //从'Shape'转换为'Square' let sq = shape as Square; return sq.sideLength 2; }}
该特性是针对TypeScript 1.8的功能增强,在1.8版本中需要对shape中的每个类型进行类型断言。(以上的样例是针对1.8版本的,针对2.0版本的完整样例可以参考微软的发布声明。——译注)

这个发布版本还支持globs,进一步扩展了TypeScript 1.6的exclude域。TypeScript 2.0允许开发人员为路径编写通配符,Rossenwasser说这可以是任意粒度的,它们可以用在新增的include域上,也可以用在已有的exclude域中,如下所示:

{ "include": [ "./src//*.ts" ], "exclude": [ "./src/tests/" ]}
TypeScript 2.0发布候选版本需要使用Microsoft Visual Studio 2015 Update 3,这个版本解决了多项有较大影响的bug,包括“在调试Visual C++或CLI代码时,提升了调试的稳定性”,另外,还解决了“在std::min/std::max这样代码调用函数中,针对浮点值使用时,可能会出现的错误编译(miscompilation)问题。”

开发社区对这个RC版本总体上是很乐观的。在Reddit上,Vheissu_这样说到,“对TypeScript而言,这是一个巨大的飞跃。现在,已经不可能回到简单原始的ECMAScript上了。”

用户cspotcode问了这样一个问题:

lib.dom.d.ts的Node.nodeType域会升级到discriminated unions吗?这会不会让当前的类型变得太混乱?看上去,如果Node.nodeType依然是一个number的话,那么Element.nodeType就不能是数字的字面量,因为这会违背Element扩展Node这一前提。Node应该需要重写,使其成为一个union类型,而不是接口。

Rossenwasser这样进行了答复:

这是完全有可能的——你可以将所有返回Node的地方都想象为返回新的类型,这个新类型代表了一个union。目前,对我来言,扩展Node的语义是什么尚不清晰,但是如果你有什么想法的话,我们会认真倾听!你尽可以对此开一个issue。

当问及开发人员何时可以等到2.0的最终版时,Rossenwasser大致估算为“几周之后“,但是他又说不要严格以此为准。
本文转自d1net(转载)

时间: 2024-09-15 11:40:51

微软发布TypeScript 2.0 RC版本的相关文章

Fluent NHibernate 1.0 Rc发布

经过多个版本的修改,Fluent NHibernate 1.0 RC版本终于发布了. http://www.lostechies.com/blogs/jagregory/archive/2009/08/16/fluent-nhibernate-1-0rc.aspx 虽说是好消息,但是这次改动非常大,很多方法都改名了,很多方法都过期了,配置好像也有点麻烦了,这次我的系列已经写到第三篇了,可能需要修改很多,我会尽量按照RC 版本来的. 最可恨的是,宽带到现在还没有装,家里没有办法上网,写的博客无法传

升级不同于添加:PHPWinc 7.0 RC新版体验

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 2008年11月25日PHPWind 7.0 Rc版本正式发布,什么样的程序才是站长心中的好程序?我们既需要照顾现有浏览者的习惯,又需要具备前瞻性的眼光进行创新突破! PHPWind始终记得:脱离了群众的创新是在后退;不遵循发展规律的发展是在自我毁灭. PHPWind7.0的创造是群众的创造,我们邀请了多位站长参与了新版本的开发. 那么PHP

TypeScript 2.0 已发布

微软最近发布了TypeScript 2.0,该版本提供了简化的声明文件获取.Non-nullable类型,以及Readonly修饰符. TypeScript项目经理Daniel Rosenwasser称,他们团队对于该版本"紧随ECMAScript规范,为JavaScript库和工具提供了更广泛的支持,并通过一个语言服务在各大编辑器中提供了一流的编辑体验"感到极为"兴奋". TypeScript 2.0使得开发者可以更容易地获取并使用声明文件.Rosenwasser

RabbitMQ 2.6.0 RC 3 发布,AMQP 消息服务器

RabbitMQ 2.6.0 RC 3 发布,此版本主要改进: Lazy queues Much better queue synchronisation throughput Lower RAM use, tunable flow control Stronger password encryption with pluggable algorithms Development moved to GitHub; build system now uses erlang.mk Significa

微软发布IE开发者工具条1.0正式版 下载_常用工具

在经历了一年半的测试期之后,微软周四正式发布了其IE Developer Toolbar最终正式版,支持IE6/7.微软开发者工具条可以让开发人员更为方便的分析网页结构,调整包括CSS在内的各种特定元素,帮助开发者更好地创建Web应用. 微软此次发布的1.0版相较Beta 3测试版并无新鲜元素加入,按照微软的说法,1.0版本主要改善了可靠性更适合作为一个正式版本来发布. IEDeveloperToolbar特性如下: -浏览和修改Web页的文档对象模型(DOM). -通过多种技术方式定位.选定W

OpenFaces 3.0 最终版本发布,支持JSF2.0

Dmitry Pikhulya在TeamDev Support社区上发帖称OpenFaces 3.0 最终版本发布了,并支持JSF2.0.全文翻译如下: OpenFaces 3.0 最终版本发布.本次发布主要关注与JSF2.0 规范的兼容性,JSF2.0 替代 JSF1.2 标准,使得开发更为简单. 现在使用JSF 2.0 开发的开发人员,可以使用很多成熟的 OpenFaces 组件,如 DataTable, TreeTable, DayTable, 及其它很多有用的组件.这里要特别感谢那些为早

微软 MSE Build 1.0.1959.0 最新版发布

近日,微软放出Microsoft Security Essential的最新版本Build 1.0.1959.0,包括32位XP版本.32位和64位Windows7/Vista版本.去年9月底,微软发布了免费杀毒软件Microsoft Security Essential(MSE),随后开始了Beta测试项目MSE Ongoing Beta Program,并陆续向测试人员提供的MSE Build 1.0.1676.0.1.0.1743.0.1.0.1801.0.1.0.1901.0.

BeanMapping发布1.0.2版本

背景   BeanMapping是什么? 请查看我之前的一篇文章:  我也造了个轮子:BeanMapping(属性拷贝)  版本变更内容   convetor包名重构,拼写错误   ScriptExecutor接口重构,加上ScriptContext操作   FiledSetExecutor去除对args的强制匹配依赖   mapping支持name定义   mapping支持嵌套映射/集合映射对象的name定义   增加NullSymbolGetExecutor的实现,支持无源属性的映射 相比

微软那个signalr-self-host的示例程序能否改成.NET Framework 4.0的版本?

问题描述 微软那个signalr-self-host的示例程序能否改成.NETFramework4.0的版本?以下链接是微软那个signalr-self-host的示例程序的详细教程和下载http://www.asp.net/signalr/overview/deployment/tutorial-signalr-self-hosthttps://code.msdn.microsoft.com/SignalR-Self-Host-Sample-6da0f383它的功能是符合我的开发要求的,但是有