Hello TypeScript

⒈TypeScript简介

  1.JavaScript的超集

  2.支持ECMAScript6标准,并支持输出ECMAScript3/5/6标准的纯JavaScript代码

  3.支持ECMAScript未来提案中的特性,比如异步功能和装饰器

  4.支持类型系统且拥有类型推断

  5.支持运行在任何浏览器、Node.js环境中

⒉JavaScript历史

  1995年,LiveScript搭载在网景浏览器中首次发布,由于网景觉得这个名字缺乏热度,所以决定蹭一下流行的Java的热度,最终改名为JavaScript。

  JavaScript与Java的关系,相当于雷锋和雷峰塔的关系。

  JavaScript的成功引起了微软的注意,然后在IE3.0上搭载了JavaScript的另一种实现JScript,两种JavaScript语言的出现意味着浏览器端语言标准化的缺失。

  1996年,网景将JavaScript提交给ECMA International(欧洲计算机制造商协会)进行标准化,最终确定了新的语言标准,取名为ECMAScript。从此所有的JavaScript实现都必须以ECMAScript标准为基础,但由于JavaScript历史原因,我们仍然称JavaScript为语言,称ECMAScript为标准。

  1997年ECMAScript发布了首版标准。

  1998年6月发布第二版标准。

  1999年12月发布第三版标准之后,之后的10年间,ECMAScript再也没能为标准化做出太大的贡献,甚至不同浏览器中的实现与标准大相径庭。不仅如此,各大厂商也开始向自己的JavaScript里添加“私货”,比如JScript中的ActiveXObject。

  这10年里究竟发生了什么呢?比较公允的看法是由于ECMAScript4过分激进的草案导致了浏览器厂商的一致抵制。IE和Flash在这一时期的强势也导致了ECMAScript的进一步没落。

  直到2005年秋,Task Group 1 of Ecma Technical Committee 39(TG1)才开始定期召开会议,之后,大火的Ajax让人们意识到了JavaScript的复兴,标准化工作才开始加速。

  经过一系列复杂的争论,2009年12月ECMAScript5得以发布。随后的2012年,国外的开发者社区推动停止对旧版本的IE支持工作,使得ECMAScript5开始流行。

  2015年,ECMAScript规范草案的委员会TC39决定将定义新标准的制度改为一年一次,这意味着ECMAScript的更新不再依赖于整个草案的完成度,而可以根据添加的特性进行滚动发布。同年,代号为Harmony的ECMAScript6,也就是耳熟能详的ES6(或者叫ES2015)得以发布。Harmony(和谐)这个名字很有意思,仿佛在告诉开发者这么多年的争执与混乱终于平息。

  但现在浏览器又开始拖后腿了,新特性往往很难在第一时间得到浏览器的支持,所以这一时期诞生了大量的前端工具,使开发者可以在开发环境中提前使用ECMAScript已发布或者还是草案的新特性。比如,Babel通过插件化的方式引入ECMAScript的特性,并在生产环境时编译到ES3或ES5的代码。

⒊TypeScript出现

  JavaScript的代码变得越来越庞大使得构建规模化的JavaScript应用程序的需求日益旺盛,使用JavaScript构建大型的Web应用很容易出现失控,变得难以驾驭。

  微软认为JavaScript只是一门脚本语言,设计理念简单,缺乏对类与模块的支持,并非真正用于开发大型Web应用,这使得微软内部开始出现需要自定义工具去强化JavaScript开发的需求。

  2012年10月,Delphi、C#之父安德斯.海尔斯伯格主持开发的TypeScript终于发布。

  TypeScript主要特点如下:

    1.免费开源,使用Apache授权协议。

    2.基于ECMAScript标准进行扩展,是JavaScript的超集。

    3.添加了可选静态类型、类和模块

    4.可以编译为可读的、符合ECMAScript规范的JavaScript

    5.成为一款跨平台的工具,支持所有的浏览器、主机和操作系统

    6.保证可以与JavaScript代码一起运行,无需修改。(这一点保证了JavaScript项目可以向TypeScript平滑迁移)

    7.文件扩展名是ts

    8.编译时检查,不污染运行时

⒋TypeScript的环境准备

  1.安装Node.js

上一篇:学前摘要


下一篇:Web开发(四)js