TypeScript 教程

  • 什么是 TypeScript?

    typescript_figure
    TypeScript 是一种强类型化的,面向对象的编译语言; 它是由 Microsoft 的 Anders Hejlsberg(C#的设计师)设计的。
    TypeScript 是一种语言,也是一组工具。
    TypeScript 是已编译为 JavaScript 的 JavaScript 的类型化超集。
    换句话说,TypeScript 是 JavaScript 加上一些附加功能。
    TypeScript 目前还在积极的开发完善之中,不断地会有新的特性加入进来。 因此本教程也会紧随官方的每个commit,不断地更新新的章节以及修改措词不妥之处。
  • 先决条件

    在学习 TypeScript 之前,您应该对以下内容有基本的了解:
  • TypeScript 的功能

    TypeScript 只是 JavaScript:Typescript 采用 JavaScript 程序的基本构建块。 因此,您只需要知道 JavaScript 即可使用 TypeScript。 为了执行的目的,所有 TypeScript 代码都将转换为与其等效的 JavaScript。
    TypeScript支持其他JS库:可以从任何JavaScript代码中使用已编译的TypeScript。 TypeScript生成的JavaScript可以重用所有现有的JavaScript框架,工具和库。
    JavaScript是TypeScript:这意味着任何有效的 .js 文件都可以重命名为 .ts 并与其他 TypeScript 文件一起编译。
    TypeScript是可移植的:TypeScript可在浏览器,设备和操作系统之间移植。 它可以在运行JavaScript的任何环境中运行。 与它的同类产品不同,TypeScript不需要专用的VM或特定的运行时环境即可执行。

    ECMAScript 和 TypeScript

    ECMAScript 规范是脚本语言的标准化规范。 ECMA-262发行了六个版本。 该标准的第6版的代号为 “Harmony”。 TypeScript 与 ECMAScript6 规范保持一致。
    typescript_and_ecmascript
    TypeScript 采用 ECMAScript5 规范(即JavaScript的官方规范)中的基本语言功能。 TypeScript 语言功能(例如模块和基于类的方向)符合 EcmaScript 6 规范。 此外,TypeScript 还包含 EcmaScript6 规范不包含的泛型和类型注释等功能。
  • 为什么要使用 TypeScript?

    TypeScript 在扩展 TypeScript 的方式上优于 CoffeeScript 和 Dart 编程语言等其他同类语言。相反,诸如Dart,CoffeeScript之类的语言本身就是新语言,并且需要特定于语言的执行环境。
    TypeScript的好处包括-
    • 编译-JavaScript 是一种解释语言。因此,需要运行它来测试它是否有效。这意味着您编写所有代码只是为了在没有错误的情况下找不到任何输出。因此,您必须花费数小时来尝试查找代码中的错误。 TypeScript 编译器提供错误检查功能。如果 TypeScript 发现某种语法错误,它将编译代码并生成编译错误。这有助于在运行脚本之前突出显示错误。
    • 强静态键入-JavaScript不是强类型。 TypeScript通过TLS(TypeScript语言服务)带有可选的静态类型和类型推断系统。 TLS可以根据其值来推断声明为无类型的变量的类型。
    • TypeScript 支持现有 JavaScript 库的类型定义。 TypeScript 定义文件(扩展名为.d.ts)为外部JavaScript库提供定义。因此,TypeScript代码可以包含这些库。
    • TypeScript 支持面向对象的编程概念,例如类,接口,继承等。
  • TypeScript 的组件

    本质上,TypeScript具有以下三个组成部分:
    • 语言-它由语法,关键字和类型注释组成。
    • TypeScript 编译器-TypeScript 编译器(tsc)将以 TypeScript 编写的指令转换为等效的 JavaScript。
    • TypeScript 语言服务-“语言服务”在核心编译器管道周围提供了一个类似于编辑器的应用程序附加层。 语言服务支持一组常见的典型编辑器操作,例如语句完成,签名帮助,代码格式和大纲,着色等。
    typescript_components
    编译TypeScript脚本时,可以使用一个选项来生成声明文件(扩展名为.d.ts),该文件用作已编译JavaScript中组件的接口。 声明文件的概念类似于C / C ++中的头文件的概念。 声明文件(扩展名为.d.ts的文件)为类型,函数调用和对jQuery,MooTools等JavaScript库的变量支持提供智能感知。