TypeScript 2.0 正式发布
9 月 22 日,TypeScript 2.0 正式发布了。
TypeScript 是微软开发的开源的编程语言,主要负责人是 C# 之父 Anders Hejlsberg。
TypeScript 成功将 JavaScript 的潜能与静态类型结合了起来,而且编译为 JavaScript。编译时类型检查可以避免很多潜在的 Bug,而且 TypeScript 的编辑器工具也大大提升了开发效率。
TypeScript 语言官网。
一起回顾一下 TypeScript 的发展之路。
发展之路
TypeScript 的第一个版本 —— TypeScript 0.8 于 2012 年发布。
2014 年,TypeScript 1.0 发布。
TypeScript 1.1 重写了编译器,性能提升 4 倍。
TypeScript 1.4 和 1.5 版本开始支持很多 ES2015/ES6 特性。1.5 开始支持模块和decorator。同时,支持 Angular 2 (前几天也正式发布了)采用 TypeScript,并和 Angular 团队合作,根据该项目的需要推动 TypeScript 的演进。
TypeScript 1.6 继续改进类型系统,支持 React/JSX,class 表达式等。
TypeScript 1.8 引入了 Module Augmentation、String Literal Types、Smarter Control Flow Analysis、Implicit Returns 等新特性。
现在,到了 2.0 版本。
TypeScript 2.0 新特性
紧跟 ECMAScript 规范,对 JavaScript 库和工具提供了更广泛的支持,提供了一个语言服务,使得 TypeScript 可以在各主流编辑器中得到一流的编辑体验。
具体来说,重要的亮点有:
Simplified Declaration File (.d.ts) Acquisition
Non-nullable 类型
Control Flow Analyzed Types
readonly 修饰符
号外
TypeScript 在微软有很多应用,最典型的如 Azure Portal。Azure Portal 是世界上用 TypeScript 编写的最大、最先进的单页 Web 应用(Single Page Web Application)。
在 10 月 20~22 日的 QCon 上海 2016 上,微软工程师 Jakub Jedryszek 将分享 《使用 TypeScript 构建大规模 Web 应用》。
问世 20 多年来,JavaScript 有很多重要变化。今天,它已成为最流行的编程语言,能够构建客户端或服务器端的大规模应用。然而,维护大规模的 JavaScript 代码库越来越困难。而 TypeScript 就是为构建大规模应用而设计的,过去4年也有着很大的发展。TypeScript 已经应用于包括 Angular 2、Ionic、Visual Studio Code 和 Azure Portal 在内的很多大规模项目中。
在本次演讲中,Jakub 将分享如何用 TypeScript 构建和维护大规模 Web 应用。他会介绍如何设置开发环境,如何使用现有的 JavaScript 库,以及如何测试等。他还会分享在设计 Azure Portal 这种超大规模单页 Web 应用中的经验教训。
本文转自d1net(转载)
TypeScript 2.0 正式发布的更多相关文章
- Angular4.0.0正式发布,附新特性及升级指南
本文首发地址:Angular4.0.0正式发布,附新特性及升级指南 作者|孙薇 编辑|尾尾 经历了6个RC版本之后,Angular项目组终于发布了新版,即正式版 Angular 4.0.0.新版的 A ...
- AppBox_v2.0完整版免费下载,暨AppBox_v3.0正式发布!
文章更新: AppBox v6.0中实现子页面和父页面的复杂交互 AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. AppBox ...
- TypeScript 2.0候选版(RC)已出,哪些新特性值得我们关注?
注:本文提及到的代码示例下载地址 - Runnable sample to introduce Typescript 2.0 RC new features 作为一个Javascript的超集, Ty ...
- 整整十年 - Agent Framework for TypeScript 2.0
十年前,我发布了 Agent Framework for .NET 2.0 今天,Agent 又开始了新的旅程, 这次支持的语言是 TypeScript 2.0 上需求:init函数只能被调用一次 废 ...
- 在 Typescript 2.0 中使用 @types 类型定义
在 Typescript 2.0 中使用 @type 类型定义 基于 Typescript 开发的时候,很麻烦的一个问题就是类型定义.导致在编译的时候,经常会看到一连串的找不到类型的提示.解决的方式经 ...
- Socket.IO 1.0 正式发布,快速可靠的实时引擎
Socket.IO 是目前 Web 领域最火的实时引擎,用于实现基于事件的双向实时的通信.它适用于任何平台,浏览器或设备,专注于可靠性和速度.您可以将数据推送到客户端,并获得实时的计数,日志或图表. ...
- Django 1.6.0 正式发布,大幅改进事务处理
Django 1.6.0 正式发布了,查看官方发行说明. 下载地址:Django-1.6.tar.gz ,也可通过 pip 安装: pip install Django==1.6 要求 Python ...
- Apache Spark2.0正式发布
Apache Spark2.0正式发布 7月26日起Databricks开始提供Apache Spark 2.0的下载,这个版本是基于社区在过去两年的经验总结而成,不但加入了用户喜爱的功能,也修复了之 ...
- 【G-BLASTN 1.0正式发布】
[G-BLASTN 1.0正式发布]G-BLASTN使用GPU来加速NCBI-BLAST里的BLASTN模块,单块GTX780比四核CPU平均快6倍. http://www.comp.hkbu.edu ...
随机推荐
- 路由与交换,cisco路由器配置,动态路由协议—RIP
一.动态路由协议分类 动态路由协议包括IGP(内部网关协议)和EGP(外部网关协议). 1.IGP IGP又包括距离向量路由协议和链路状态路由协议. (1)距离向量路由协议典型代表:RIP (2)链路 ...
- Linux网络安全篇,认识防火墙(一)
一.概念 防火墙分为软件防火墙和硬件防火墙.我们的主要讨论范围为软件防火墙. 软件防火墙又分为网络型和单一型的管理. 1.单一主机型防火墙 (1)数据包过滤型的Netfilter (2)依据服务软件程 ...
- 汇编刷题:内存 MEM 单元开始存放着 10 个带符号字节数据, 编写完整程序求其中正数、 零和负数的个 数, 并分别将它们存于 PLUS、 ZERO 和 NEGO 3 个单元
DATA SEGMENT MEM DB 12H,91H,73H,64H,20H,0A5H,0D1H,91H,0A2H,00H PLUS DB 00H ZERO DB 00H NEGO DB 00H D ...
- 【Selenium01篇】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 二.话不多说,直接开干,开始搭建自动化测试环境 这里以前在 ...
- 37.4 net--TcpDemo2模拟用户登陆
package day35_net_网络编程.tcp传输.模拟用户登录; import java.io.*; import java.net.InetAddress; import java.net. ...
- Apache Hudi 设计与架构最强解读
感谢 Apache Hudi contributor:王祥虎 翻译&供稿. 欢迎关注微信公众号:ApacheHudi 本文将介绍Apache Hudi的基本概念.设计以及总体基础架构. 1.简 ...
- Python操作rabbitmq系列(一)
从本文开始,接下来的内容,我们将讨论rabbitmq的相关功能.我的这些文章,最终是要实现一个项目(具体是什么暂不透露).前面每一篇,都是在为这个系统做准备.rabbitmq,是我们这个项目的关键部分 ...
- 关于《Python自动化测试实战》
作者有话说 笔者写这本书的初心是想通过自身经验分享一些在自动化测试领域中的实用技术,能够帮助那些正在从事自动化测试相关工作或者准备转型自动化测试的测试人员.任何一门技术涵盖的知识点都是非常广泛的,可能 ...
- 如何改变Xcode字体大小?
运行Xcode后依次点击左上角Xcode/Preferences/Fonts & Colors里就可以调整,在右边随便点中一个字体就可以调整这个字体的大小和颜色了,按command+a可以将所 ...
- AJ学IOS(29)UI之Quartz2D自定义下载控件_画各种图形
AJ分享,必须精品 效果 自定义控件过程 主要过程在上一篇里有介绍了,这里主要介绍下代码实现 先做好要放的view 然后实现呢主要就是四步: 1:获取上下文 2:拼接路径 3:把路径添加到上下文. 4 ...