1.2 TypeScript 概述

TypeScript是微软开发的一门开源语言,向JavaScript添加了可选的静态类型、基于类的面向对象编程等特性。本质上基于JavaScript,最终通过工具编译(转译)成JavaScript来运行。

为什么微软要开发这样一门语言呢?众所周知,JavaScript是一种脚本语言,并非设计用于开发大型Web应用,没有提供类和模块的概念,当系统逐步变得庞大时,JavaScript将会面临诸多问题。而TypeScript就是为了解决这些问题而出现的。

1.2.1 TypeScript 简介

TypeScript是JavaScript的超集,扩展了JavaScript,增加了可选类型、类和模块等面向对象语言的一些特性,支持开发大规模JavaScript应用,并可、以编译成标准的JavaScript。TypeScript兼容JavaScript,已有的JavaScript代码可以直接与TypeScript一起运行,无需任何更改。

TypeScript更像是传统的面向对象语言,熟悉C#、Java语言的开发者可以很快上手。需要注意的是,TypeScript还是需要转换成JavaScript才能运行,这个过程我们一般称之为“编译”或“转译”。Ionic可以自动化完成这个转译过程,无需用户手动配置。

示例代码:

class Greeter {
   constructor(public greeting: string) { }
   greet() {
       return "" + this.greeting + "";
   }
};
var greeter = new Greeter("Hello, world!");
var str = greeter.greet();
document.body.innerHTML = str;

上述代码乍一看有点像JavaScript,但Greeter前面有一个class关键字,这说明Greeter是一个类,拥有构造函数、属性、方法等。在声明greeting参数的时候,还加了一个string的后缀,说明这是一个字符串类型。这又有点类似C#,没错,TypeScript的设计者是C#之父——Anders·Hejlsberg。2012年10月微软发布了首个公开版本,并一直在积极的开发完善之中,目前最新的版本已经是2.x了。

TypeScript的更多信息请参考:

1.2.2 TypeScript的新特性

TypeScript与JavaScript相比带来了诸多新特性:

  • 可选的静态类型
  • 类型接口
  • 在ES6和ES7被主流浏览器支持之前使用它们的新特性
  • 编译为可被所有浏览器支持的JavaScript版本
  • 强大的智能感知

TypeScript最大的改进就是可选的静态类型。类型可以用在变量、函数、属性上,这将帮助编译器在程序运行之前就检测出任何潜在的代码问题,定位代码位置。在写一个函数时,也可以定义该函数要返回什么类型的数据。TypeScript中的类型系统是可选的,并不强制要求使用类型,但如果你的项目变得更加复杂的时候,强类型将会提供更多的优势。

通过静态类型、接口等诸多改进,TypeScript在编辑器支持上拥有了智能感知、重构、Go To Definition等强大的功能,编辑器可以完美的感知到所有可用的参数和方法,大大提高了开发效率。现在几乎所有的现代IDE都已经支持TypeScript的智能感知,如VS Code、WebStorm、Sublime Text等。这种智能感知要比WebStorm对JavaScript提供的代码补全要强大的多,因为这是通过TypeScript的静态类型实现的,而不是通过关键字查找来补全。

因为这些令人惊叹的特性,Angular2和Ionic2都选择了TypeScript来构建。本书并不是TypeScript的开发手册,因此不会系统的介绍TypeScript的相关知识,但会在内容中逐步介绍所需的知识点。

results matching ""

    No results matching ""