目录
一 类型判断
如果没有明确指定类型 ts就会推测出一个类型
如果定义时没有 赋值 不管之后有没有赋值 都会被推断为 any
let str // 声明变量 并没有赋予类型
str = 7 //把变量赋值为 数字
str = 'serve' //因为没有赋予类型 当前变量也可以赋值为 字符串
如下图所示: 当鼠标化入变量 str 时 编译器显示类型 为 any
![](https://img-blog.csdnimg.cn/dac08028844e4ab3aa61042708ba4bef.png)
二 联合类型
-
联合类型 表示取值可以为多种类型的一种
-
联合类型 使用 | 分隔每一个类型
let myType: string | number; myType = 7 // 现在值 可以为数字 myType = 'Tom' // 现在值 可以为字符串
注意: 现在 变量 myType 已经 声明了 字符串和数字类型 当给myType赋值布尔值时将会会报错!!! 并且当鼠标化入变量时编译器也会提醒
这时 我们只需在对 myType 赋予布尔类型即可 如下图所示:
- 当ts不确定当前类型的变量到底是哪个类型的时候
- 我们只能访问所有类型的公共属性和方法
- 如下图所示 :
- something 声明了 string 和number 当我们返回 something的length的时候会提示报错
- 因为 number 不含有length!!! 不是他们共有的属性
然而 toString()同时满足 如下图