TS学习笔记之基本用法

124 阅读2分钟

该系列文章是本人阅读阮一峰老师的《TypeScript教程》学习笔记,欢迎各位大佬指出不正确的地方,感谢!

类型声明

类型声明的写法:冒号+类型。函数参数和返回值,也是这样来声明类型。

变量的值应该与声明的类型一致,且变量只有赋值后才能使用,否则TS会报错。

类型推断

类型声明不是必须的,如果没有,TS会自己推断出类型,但不能保证TS会正确的推断出类型,所以所有的JS都是合法的TS代码。

如果变量更改为其他类型的值,跟推断的类型不一致,TS也会报错。

函数的返回值也能被类型推断。

TS的编译

JS的运行环境无法直接运行TS,所以TS要编译成JS才能运行。

TS编译时,会将代码中的类型声明和类型相关的代码都删掉,只留下能运行的JS代码,且不会对运行结果产生影响。

所以TS的类型检查只是编译时的类型检查,不是运行时的类型检查,编译成JS后就不再检查类型了。

值与类型

“类型”是针对“值”的,且每个值在TS里面都是有类型的。

TS只涉及类型,不涉及值,所有“值”相关的处理都由JS完成。

TS项目里其实存在两种代码,一种是底层的“值代码”(JS语法),另一种是上层的“类型代码”(TS语法)。

TypeScript Playground

这是官网的TS在线编译页面。

tsc编译器

这是TS官方提供的编译器,作用就是把.ts脚本转成.js脚本。

tsconfig.json

TS允许将tsc的编译参数写在配置文件tsconfig.json里面。只要有这个文件,tsc就会自动读取,所以运行时可以不写参数。

ts-node模块

一个非官方的npm模块,可以直接运行TS代码。