TS学习笔记二TS基本类型

二、TS基本类型

类型声明

简介

​ 类型声明是TS非常重要的特点

​ 通过类型声明可以指定TS中的变量的类型(参数,形参)的类型

​ 指定类型后,当为变量赋值的时候,TS的编译器会自动检查值是否符合类型声明,如果符合则赋值,否则报错

​ 类型声明给遍量设置了类型,使得变量只能存储某种类型的值

语法:

let 变量: 类型

let 变量: 类型=function f(参数: 类型, 参数:类型): 类型{
	//...
}

自动类型判断

​ TS拥有自动类型判断机制

​ 当对变量的声明和赋值时同时进行的时候,TS编译器会自动判断变量的类型

​ 所以当声明和赋值同时进行的时候,则可以省略掉变量的声明

类型

类型例子描述
number1,222,-124任意数字
string‘sing’,“hello”,‘123’,`hi`任意字符串
booleantrue,false布尔值
字面量其本身限制变量的值的就是该字面量的值
any*任意类型
unknown*类型安全的any
void空值没有值(或undefined)
never没有值不能是任何值
object{name:“Alex”}任意的js对象
array[0,1,2]任意js数组
tuple[3,4,5]元组,TS新增类型,固定长度的数组(类似于python中的元组)
enumenum{A,B}枚举,TS新增类型
类型断言:

​ 有些情况下,类型对于我们来说是很明确的,但是对于TS编译器却不是很清楚,此时可以通过类型断言来告诉编译器变量的类型

语法
①变量 as 类型

let e3:unknown
s=e3 as number
②<类型>变量
let e3:unknown
s=<number>e3
类型的别名

用于简化类型的使用

type otf= 1 | 2 | 3 | 4 | 5

let as:otf

typeof as == otf //true

相对于js中特别的类型

① 字面量

当字面量声明后,只能是赋值那个量,不能赋值另外的值

let b:10
let a=1 | 2 | 3 | 4 | 5
// 这里声明的值为10就只能是赋值10,如果重新赋值为其他值则会报错
② any

表示任意类型,可以赋值给任意的变量,会关闭自己和其他变量的类型转换

隐式any,不指定类型则会自动识别成any

let e2//这里的e2也是any类型
③ unknown

表示未知类型,实际上是一个安全的any类型

unknown类型的变量不能直接赋值给其他变量

let e3:unknown
e3='hello'

s=e3  //报错
④ void

表示空,以函数为例,void表示没有返回值或返回值为undefined的函数

function fn():void{

 return undefined

}
⑤ never

表示不会有结果

//这里用来抛出错误
function fn2():never{

 throw new Error('Error')

}
⑥Object

表示一个js对象

let a1 :object

可以指定对象内的属性

语法:{属性名:属性类型值,属性名:属性类型值}

属性名后面的? ,表示该属性是一个可选值

let a2:{name:string,age?:number}

// [propName:string]:any 表示任意类型的属性

let aa:{[propName:string]:any}
⑦数组

string[]表示字符串数组

let aaa:string[] //即数组内所有的元素都是string类型

另一种写法

let bbb:Array<string>
⑧元组

即固定长度的数组

语法[类型,类型,类型…]
let yz:[string,string]

// 表示元组长度为2,元组内的类型为string
⑨enum枚举
语法 enum 类名{ 属性,属性 }

enum Gender{

male,

famale

}

js中的数据类型
基本数据类型:

Undefined、Null、Boolean、Number、String,Symbol(es6中加入)

引用数据类型 :

Object、array、function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

27岁干全栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值