ts简介
起源
-
JaveScript 是弱类型语言,在类型检查方面有所欠缺,使得用 var(或 let、const)声明的变量类型不受束缚,中途可以随意变化,即动态类型
-
导致的问题
- 调用别人写的函数时,要翻内部代码才能搞清参数类型
- 封装函数时,开头需要对输入参数进行类型合法检查
- 修改底层库时,对参数类型做了扩展,但不知道顶层哪些地方也要做相应修改
- 调用后端 API 时,返回类型有误导致崩溃,却难以直接发现问题在哪
-
解决的办法
- 引入
Ts作为Js的超集,即静态类型 - 用 Ts 规则去书写,然后用 tsc 编译工具转换成 Js 发布,会移除所有 Ts 代码
- 引入
Js 原有的变量类型
| 原有类型 | 含义 |
|---|---|
| number | 数字 |
| string | 字符串 |
| boolean | 布尔值 |
| undefined | 未定义 |
| null | 空 |
| symbol | 符号 |
| object | 对象 |
| function | 函数 |
Ts 新增的变量类型
| 新增类型 | 含义 |
|---|---|
| any | 任意 |
| known | 目前未知 |
| never | 永远不存在 |
| void | 空 |
| 类型[] | 数组 |
| [类型] | 元组 |
| enum | 枚举 |