类型推论
在ts中,没有明确指出类型,ts的类型推论会帮助提供类型
类型断言
当ts类型太宽泛的时候,可以使用类型断言 as 指定更加具体的类型
const alink:HTMLElement=document.getElementById('link')
alink.link ?//这种写法会报错,HTMLElement类型太宽泛了
正确写法
//常用写法
const alink=document.getElementById('link') as HTMLAnchorElement
//其他写法
const alink=<HTMLAnchorElement>document.getElementById('link')
小技巧:控制台打印$0可以获得选中的元素(dir打印能获取元素对象)
字面量类型
含义:可以使用任意字面量代表类型,用来表示一组明确的可选值列表。
funtion change(value:'a'|'b'|'c'|'d'){
console.log(value)
}
//字面量类型一般与联合类型符号|一起使用
枚举类型
含义:定义一组命名常量。类似字面量类型和联合类型的组合,使用 enum 关键字声明。
enum Direction {
a,
b,
c
}
funtion change(value: Direction ){
console.log(value)
}
change(Direction.a)
change(Direction.b)
change(Direction.c)
设置指定值
enum Direction {
a=10,
b=20,
c=30
}
注意:枚举成员是有值的,默认从0开始自增,也可以自己设置值;如果是字符串枚举则要求枚举的每个数据成员都得有值。
枚举是为数不多的非js类型扩展的特性之一,不仅是类型,还提供值,并且还会编程成js代码。
any类型
不推荐使用,简单来说就是添加了any类型,就不会去判断他是什么类型了,失去了ts的意义。
typeof操作符
ts中的typeof除了具备js中typeof的功能外,还具备了类型查询的功能。
let p={x:1,y:2}
funtion change (value:{x:nuber,y:number}) {
}
change(p)
//使用typeof操作符可以简化为
let p={x:1,y:2}
funtion change ( value: typeof p) {
}
change(p)
-----------------------------------------------------------------------------------------------------------------------------
本期介绍了ts的一些类型的操作和一些其他类型,但还是属于基础常用类型的范围,下一期将开始介绍ts的一些高级类型,希望大家能和我一起共同学习。
标签:Direction,TS,value,ts,初识,typeof,类型,change From: https://blog.csdn.net/qu19666/article/details/142979940