TypeScript - 概述

JavaScript是作为客户端语言引入的. Node.js的开发也将JavaScript标记为新兴的服务器端技术.但是,随着JavaScript代码的增长,它往往变得更加混乱,难以维护和重用代码.此外,它没有采用面向对象,强类型检查和编译时错误检查的功能,这使得JavaScript无法在企业级成功实现成为完整的服务器端技术.提出 TypeScript 来弥补这一差距.

什么是TypeScript?

根据定义,"TypeScript是应用程序的JavaScript -scale development."

TypeScript是一种强类型,面向对象的编译语言.它是由Microsoft的 Anders Hejlsberg (C#的设计者)设计的. TypeScript既是一种语言又是一组工具. TypeScript是JavaScript编译的JavaScript的类型超集.换句话说,TypeScript是JavaScript加上一些额外的功能.

TypeScript Figure

TypeScript的功能

TypeScript只是JavaScript . TypeScript以JavaScript开头,以JavaScript结尾. Typescript从JavaScript中采用程序的基本构建块.因此,您只需要知道JavaScript即可使用TypeScript.为执行目的,所有TypeScript代码都转换为其JavaScript等价物.

TypeScript支持其他JS库.可以从任何JavaScript代码中使用编译的TypeScript. TypeScript生成的JavaScript可以重用所有现有的JavaScript框架,工具和库.

JavaScript是TypeScript .这意味着任何有效的 .js 文件都可以重命名为 .ts 并使用其他TypeScript文件进行编译.

TypeScript便携式. TypeScript可跨浏览器,设备和操作系统移植.它可以在运行JavaScript的任何环境中运行.与其对应的不同,TypeScript不需要专用的VM或特定的运行时环境来执行.

TypeScript和ECMAScript

ECMAScript规范是一个脚本语言的标准化规范.已发布六个版本的ECMA-262.该标准的第6版代号为"Harmony". TypeScript与ECMAScript6规范一致.

TypeScript and ECMAScript

TypeScript采用ECMAScript5规范的基本语言功能,即JavaScript的官方规范.模块和基于类的方向等TypeScript语言功能符合EcmaScript 6规范.此外,TypeScript还包含泛型和类型注释等功能,这些功能不属于EcmaScript6规范.

为什么要使用TypeScript?

TypeScript是优于其他同类产品,如CoffeeScript和Dart编程语言,TypeScript是扩展JavaScript.相比之下,像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库提供类型,函数调用和变量支持的智能感知.