TypeScript教程之一:介绍


由微软推出的TypeScript自从一推出就广受关注,现在无论开发前端React/Vue,还是后端API,很多项目中都广泛接受了TypeScript。TypeScript (TS)是JavaScript的超集,也就是说,JS支持有的在TS中都有,除此之外,还有一些TS独特的特性。

TypeScript

TS的特性

顾名思义,TS中最为重要的一个特性就是其严格的类型检测机制,这就为程序的健壮性提供了保证。和TS相比,JavaScript是动态类型,这就更加容易引入运行时错误。

同时,它支持箭头函数,const, let等现代语言特性,还支持泛型,接口等高级特性。

目前无论在后台Node.js,还是在浏览器中,TypeScript的程序都无法直接运行,需要编译为JavaScript程序后才能运行。

环境配置和安装

首先需要安装Node.js

之后安装typescript

npm i typescript -g

懒人版测试环境

直接访问这个网址,就可以在线测试TS程序:https://www.typescriptlang.org/play

测试

创建一个文件,比如01.ts:

function demo() {
    let s: string = "Hello, TS!";
    console.log(s);
}

demo();

第一种运行方式:编译+运行

编译TS到JS:

tsc 01.ts

运行JS:

node 01

第二种运行方式:直接运行

安装对应的包:

npm i -g ts-node @types/node

注意,必须安装 @types/node 否则会报错。

接下来就可以直接运行TypeScript了。其实,其运行机制也是分为两步:首先转换为JS,然后运行转换后的JS。

ts-node 01.ts

关于tsconfig.json

这个文件的作用就是设定一些编译TS时的默认选项。如果项目中没有这个文件,可以通过如下命令来创建:

tsc --init

可以看到,tsconfig.json文件已经创建好了。接下来就可以通过运行如下命令编译当前目录下所有的TS文件了:

tsc

下面介绍一下一些常用选项:

设置 作用
incremental 是否对项目进行递增式编译,如设置为true,tsc会创建一个tsconfig.tsbuildinfo文件保存编译信息
noImplicitAny 声明当类型为任意(any)的时候,是否需要注解
noUnusedLocals 当变量被声明但并未被读取时是否报错
outFile 生成的单一js文件名
outDir 生成的js文件路径
removeComments 在编译TS的时候去除注释
rootDir ts文件路径
sourceMap 存储TS及JS源代码对应行数,一旦出错,可以报出TS文件行数,便于排错
strictNullChecks 是否强制进行空值检测
target 转换后JS的版本号,比如ES5, ES2016

文章作者: 逻思
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 逻思 !
  目录