Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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枚举