TypeScript 简介

112 阅读2分钟

TypeScript 简介

简介

TS是微软开发的一种基于JS语言的编程语言。它的目的不是创造一种全新的语言,而是为了增强JS功能。

TS可以看成是JS的超集,它继承了JS的全部语法,因此所有的JS代码都是合法的TS代码。

TSJS添加了类型系统。JS属于动态类型语言,没有任何使用限制,运算符可以接受任何类型的值,不具有很强的约束性。TS引入了一个更强大、更严格的类型系统,属于静态类型系统。

TS代码并不被JS的运行环境(浏览器和Node.js)所认识,因此TS代码想要运行,就必须先转成JS代码,而这个转换的过程就叫做“编译”compileTS在编译时,会将类型相关的代码全部删除,只留下能运行的JS代码。

TS的类型检查只是编译时的类型检查,而不是运行时的类型检查。因为TS代码必须编译成JS代码才能运行,所以代码运行时不会再进行类型检查。

学习TS一定要分清类型类型是针对(服务或约束)于的,只有分清哪些是,哪些是类型,才能读懂TS代码,也才能更好的为设置类型每个值TS中都有对应的类型,开发者设置或由TS推断。

TS只涉及类型,不涉及,凡是和相关的处理都由JS处理。TS项目运行前需要先编译,编译的过程其实就是把类型代码去掉,只保留能运行的值代码

类型声明与推断

TS最明显的特征,就是js变量加上了类型声明。但类型声明不是必须的,如果没有,TS会自己推断类型。

// 类型声明
let foo: number = 123

// 类型推断
let bar = 'hello' // 变量 bar 的类型推断为 string
bar = 456 // 赋值为其它类型时报错

TS类型声明是可选的,因此所有的JS代码都是合法的TS代码。

编译

TS官方没有做运行环境,只提供了编译器,叫做tscTS文件使用.ts后缀名,tsc的作用就是将.ts脚本编译成.js脚本。

安装

tsc是一个npm模块,可以全局安装,也可以在项目中单独安装。

// 全局安装
npm install typescript -g

初始化tsconfig.json

tsc --init

使用tsc命令进行编译。

// app.ts
let foo: number = 123
let bar: string = 'hello'

使用以下命令编译app.ts

tsc app.ts

得到一个app.js脚本

// app.js
var foo = 0;
var bar = 'hello';

参考文献

TypeScript 教程