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 ...
随机推荐
- 【Linux】系统管理
软件包管理 一 软件包分类 源码包: .tar.gz .tar.bz2 二进制包: .rpm 二 二进制包安装 (一) rpm命令手动管理二进制包 (挂载光盘) 1 包名-版本号-发布次数-适合lin ...
- scrapy中使用selenium来爬取页面
scrapy中使用selenium来爬取页面 from selenium import webdriver from scrapy.http.response.html import HtmlResp ...
- MTK Android [输入法]客制化系统默认输入法-搜狗输入法
1.frameworks/base/packages/SettingsProvider/res/values/defaults.xml <!--Sogou input method is use ...
- 汇编刷题:在M单元和N单元分别存有一个8位无符号数36H和95H,要求比较并输出 M大于N 或者 M小于N
DATA SEGMENT M DB 36H N DB 95H RESAULT1 DB 'M>N$' RESAULT2 DB 'M<N$' DATA ENDS ...
- Python——详解__str__, __repr__和__format__
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第10篇文章,我们来聊聊Python当中的类. 打印实例 我们先从类和对象当中最简单的打印输出开始讲起,打印一个实例 ...
- matplotlib BlendedGenericTransform(混合变换)和CompositeGenericTransform(复合变换)
2020-04-10 23:31:13 -- Edit by yangrayBlendedGenericTransform是Transform的子类,支持在x / y方向上使用不同的变换.(博主翻译为 ...
- centos7.3下安装nginx
Nginx简介 Nginx是一款轻量级的Web服务器/反向代理服务器/电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行.其特点是占有内存少,并发能力强, Nginx的并发能力在 ...
- Scala——的并行集合
当出现Kafka单个分区数据量很大,但每个分区的数据量很平均的情况时,我们往往采用下面两种方案增加并行度: l 增加Kafka分区数量 l 对拉取过来的数据执行repartition 但是针对这种 ...
- P1352 没有上司的舞会&&树形DP入门
https://www.luogu.com.cn/problem/P1352 题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的 ...
- Centos7 编译安装 Libmcrypt 库
0x00 先下载 libmcrypt 库源码 libmcrypt-2.5.8.tar.gz 或者去这里 libmcrypt 下载你需要的版本. 0x01 将下载的源码解压到文件夹 tar -zxvf ...