1.字符串
let dogName:string ="旺财"
let dogAge:number = 5
let introDog:string = `我有一只狗,它叫${dogName},它今年${dogAge}。`
console.log(introDog);
2.数字
// 进制依次为 10 16 8 2
let num1:number = 16
let num2:number = 0x10
let num3:number = 0o20
let num4:number = 0b10000
console.log(num1,num2,num3,num4);
3.布尔
let flag:boolean = true
4.数组
let arr:number[] = [1,2,3] //数字数组
let str:string[] = ['a','b','c'] //字符串数组
let boolArr:Array<boolean> = [true,false]
console.log(arr,str,boolArr)
5.元祖 数组的升级版本 已知类型和数量
let tuple:[string,number,boolean,string]=['aa',1,true,'kk']
//使用tuple[index]. 可以直接点出来方法 ts会有相应类型方法的提示
//eg
console.log(tuple[0].length)
6.枚举 用于定义固定的取值的
//默认从0开始
// enum Sex {
// Man,
// Women
// }
// let sex1:Sex = Sex.Man
// let sex2:Sex = Sex.Women
// console.log(sex1,sex2)
//可手动赋值
enum Sex {
Man=1,
Women='heson'
}
let sex1:Sex = Sex.Man
let sex2:Sex = Sex.Women
console.log(sex1,sex2)
//由枚举的值获取枚举的名字
let sexName:string=Sex[1]
console.log(sexName)
7.any 当不确定类型的时候可标识any
let myName:any = 'jjj'
let array:any[] = [1,'aa',true,'heson']
8.void void类型与any类型相反 它表示没有任何类型
//当一个函数没有返回值时,通常会设置返回值类型为void
//如果声明一个void对象只能为它赋值null和undefined
function logMsg():void{
console.log('ainihaizhen')
}
logMsg()
9.null和undefined
let str1:null = null
let str2:undefined = undefined
10.never 必须存在无法到达的终点 抛出异常的函数箭头函数的表达式的返回值类型
//是所有类型的子类型,也可以赋值给任何类型
//never没有子类型,任何类型都不可以给never类型赋值
//应用场景1,抛出异常函数
// function error(msg:string):never{
// throw new Error(msg)
// }
// error('发生未知错误')
//应用场景2 永真永假
function error2():never {
while(true){
console.log(1)
}
}
11.object 表示非原始类型
let obj1:object = {name:'heson',age:'18'}
declare function fun1(o:object):void
fun1({name:'heson'}) //ok
fun1([1,2,3]) //ok
fun1(null) //ok
fun1(undefined) //ok
// fun1(123) //false
// fun1('heosn') //false
// fun1(true) //false
12.类型断言
//开发中会遇到,你知道某个实体最终返回的是什么类型,我们可以通过类型断言这种方式告诉编译器
//类型断言好比其他语言里的类型转换,但是不进行特殊的数据检查和解构
//没有运行时的影响,只在编译阶段起作用
//断言的形式 1.尖括号语法 2.as语法 3.注意
let obj2:any = 'hello'
//无提示
let str3:string = obj2.substr(0,3)
console.log(str3)
//有提示 方式一
let str4:string = (<string>obj2).substr(0,3)
//方式二
let str5:string = (obj2 as string).substr(0,3)
console.log(str3,str4,str5)
运行之后的结果为
我有一只狗,它叫旺财,它今年5。
16 16 16 16
[ 1, 2, 3 ] [ 'a', 'b', 'c' ] [ true, false ]
2
1 'heson'
Man
ainihaizhen
hel
hel hel hel