TypeScript是一种开源的,面向对象的语言,由微软开发和维护,在Apache 2许可下使用。TypeScript编译生成JavaScript,它是JavaScript的超集。TypeScript是由Anders Hejlsberg开发的,他也领导了c#语言的开发。TypeScript于2012年10月发布。
为什么使用TypeScript?
JavaScript在过去几年有了巨大的发展。它是用于开发现代web应用程序最通用的跨平台语言。它可以用于开发应用程序的客户端,使用包括Vue, Angular或React等框架。以及服务器端,使用Node.js等框架。现在,它被认为是构建端到端应用程序的首选语言。但是,JavaScript从来就不适合这种大规模的应用程序开发。
JavaScript是一种没有类型系统的动态编程语言,不像c#或Java那样的结构良好、精炼的语言。无类型系统意味着JavaScript中的变量可以有任何类型的值,如字符串、数字、布尔值等。类型系统提高了代码质量和可读性,使其易于维护和重构代码库。更重要的是,错误可以在编译时发现,而不是在运行时发现。
如果没有类型系统,就很难扩展JavaScript来构建复杂的应用程序。
因此,使用TypeScript的原因是它让JavaScript可以用于大项目开发。
TypeScript编译成简单的JavaScript。TypeScript编译器也是在TypeScript中实现的,可以和任何浏览器或者像Node.js这样的JavaScript引擎一起使用。TypeScript需要一个ECMAScript 3或更高兼容的环境来编译。当今所有浏览器和JavaScript引擎都满足这个条件。
一些最流行的JavaScript框架如Angular.js和WinJS是用TypeScript编写的。
如何使用TypeScript?
TypeScript代码在扩展名为.ts的文件中编写,然后使用TypeScript编译器编译成JavaScript。TypeScript文件可以在任何代码编辑器中编写。需要在平台上安装TypeScript编译器。安装后,执行命令tsc <filename>
,将TypeScript代码编译成一个普通的JavaScript文件。然后可以将JavaScript文件包含在HTML中,并在任何浏览器上运行。
Sample.ts ===> tsc Sample.ts ===> Sample.js
下一节将详细介绍各种平台的TypeScript安装和编译过程,以及代码示例。
TypeScript 特性
跨平台 TypeScript可以在任何平台上运行。TypeScript编译器可以安装在任何操作系统上,比如Windows, MacOS和Linux。
面向对象的语言 TypeScript提供了强大的特性,比如类、接口和模块。您可以为客户端和服务器端开发编写纯面向对象的代码。
静态类型检查 TypeScript使用静态类型。这是通过类型注解实现的。它有助于在编译时进行类型检查。因此,您可以在输入代码时发现错误,而不必每次都运行脚本。此外,使用类型推断机制,如果声明的变量没有类型,那么将根据其值进行推断。
可选的静态类型 TypeScript也允许使用JavaScript的动态类型。
DOM操作 与JavaScript一样,TypeScript可操作DOM,添加或删除DOM节点。
es6特性 TypeScript包含了ECMAScript 2015 (es6, es7)的大部分特性,如类、接口、箭头函数等。
TypeScript 优势
- TypeScript是一种开源语言,由微软持续开发和维护。
- TypeScript可以在任何浏览器或JavaScript引擎上运行。
- TypeScript与JavaScript类似,使用相同的语法和语义。所有TypeScript的代码最终都转换成了JavaScript。这使得目前使用JavaScript编码的前端开发人员可以更快地学习。
- TypeScript的语法也更接近Java和Scala等后端语言。这有助于后端开发人员更快地编写前端代码。
- 可以从现有的JavaScript代码调用TypeScript代码。TypeScript也可以与现有的JavaScript框架和库一起工作,没有任何问题。
- 带有
.d.ts
扩展名的TypeScript定义文件。提供对现有JavaScript库的支持,如Jquery, D3.js等。因此,TypeScript代码可以使用类型定义添加JavaScript库,以利用现有动态类型JavaScript库中的类型检查、代码自动完成和文档。 - TypeScript支持ECMAScript 2015后的最新JavaScript特性与规范。它包括来自ES6和ES7的特性,可以在es5级JavaScript引擎(如Node.js)中运行。这提供了在当前JavaScript引擎中使用未来JavaScript版本的特性的巨大优势。
- TypeScript很容易与任务运行器工具(如Grunt和Gulp)集成,自动化工作流程。
我们已经了解了TypeScript背后的灵感和它为构建大型应用程序所提供的各种优势,让我们在下一篇教程中研究如何安装和设置TypeScript。