基础篇 TypeScriptday01( 二 )


基础篇 TypeScriptday01

文章插图
3.3 元祖用于保存定长长度的数组和数据类型
tuple
首先它的定义
基础篇 TypeScriptday01

文章插图

基础篇 TypeScriptday01

文章插图
这个时候就定长了,长度固定少一个不行 , 多一个不行
基础篇 TypeScriptday01

文章插图
而且对应位置的数据类型也固定了,不能颠倒
基础篇 TypeScriptday01

文章插图
3.4 any与void首先any表示任意类型 , 当我们不清楚值的数据类型时可以用any
场景一:
当变量的值会动态改变 , 比如用户的输入时
可以看到我们这里不论是什么类型都不会报错
基础篇 TypeScriptday01

文章插图
场景二:
改写现有代码时,想要去包含或者是移除类型检查
【基础篇 TypeScriptday01】可以看到我们并没有定义这个函数,但是也不会报错,这个时候用any来移除类型检查,但是要注意这种方式不太安全
基础篇 TypeScriptday01

文章插图
场景三:
定义或存储各种类型数据的数组
像这样一个数组会有限制
基础篇 TypeScriptday01

文章插图
这样就不会了
基础篇 TypeScriptday01

文章插图
void
某种意义上来说,void与any是相反的,因为他表示没有任何类型
常常用于当一个函数没有返回值时
比如这样一个正常函数是没有问题的
基础篇 TypeScriptday01

文章插图
当我加上了void来声明后
就会报错return这一行
基础篇 TypeScriptday01

文章插图
删除后我们才可以正常执行
基础篇 TypeScriptday01

文章插图
还有一个点就是当给一个变量声明为void类型,那么他的值就只能为undefined和null
基础篇 TypeScriptday01

文章插图

基础篇 TypeScriptday01

文章插图
为null报错是以为我们开启了严格模式,需要在ts配置文件中将这一行注释
基础篇 TypeScriptday01

文章插图

基础篇 TypeScriptday01

文章插图
3.5 null和undefined他们的作用就不用多说了
首先他们也是一种数据类型要赋值给变量也要进行定义
基础篇 TypeScriptday01

文章插图
但是要注意:在非严格模式下,他可以赋值给其他数据类型
基础篇 TypeScriptday01

文章插图
3.6 never和objectnever类型就是一些总是会抛出异常或者根本就不会有返回值的函数,像这些就可以定义为never类型
基础篇 TypeScriptday01

文章插图
object就是定义为一个对象
基础篇 TypeScriptday01

文章插图
3.7 枚举枚举是js标准数据类型的一个补充,可以为一组 数值赋予友好的名字
通过enum来定义
基础篇 TypeScriptday01

文章插图
这个时候我将一个变量定义为这个类型,
基础篇 TypeScriptday01

文章插图
他就只能为这个类型里面的别名或者说是数值
基础篇 TypeScriptday01

文章插图
然后第一个注意点,我给他赋值数值并不会出错,因为枚举本身就是为数值取一个好听的别名,它的本质就是数值
基础篇 TypeScriptday01

推荐阅读