首先,这里不需要我多说了,大家也知道typescript的诞生背景。typescript里是有类型定义的。

变量类型

比如定义一个数字类型:

 let num:number=12;

这时候你在把a赋值其他类型比如字符类型就会报错,JavaScript里的六种基本类型都可以这么定义,当然如果你想像js一样一个变量啥类型都能装也是可以的:

 let something:any=111;
 something='true';

这是允许的且可以编译通过
当然也可以给函数的参数指定类型:

 function show(a:number,b:number){
    //do something
}

也可以给函数的返回值指定类型:

function show(a:number,b:number):number{
    return a+b;
}

如果在返回值的类型不是number类型那么就不会编译通过。

数组类型

如果想什么数组的类型,可以这么写:

 let arr:number[]=[1,2,3,4,5]
 let arr2:Array<number>=[1,2,3,4,5];

两种写法都是可以的

联合类型

假设有个变量我们暂时还不确定他是哪种类型,但我们可以确定的是他可能是数字或字符中的一种,那么我们就可以用联合类型来声明:

 let unions:(number|string)=10;
 unions='other'

对数组来说也可以用联合类型:

 let arr:(number|string)[]=[1,12,'a',4,7];

里面可以即有number类型也可以有string类型

元组类型

假设我们想指定一个数组的第一位是数字,第二位是字符串,那么我们就可以用元组类型:

 let arr:[number,string]=[12,kill,53,2]

他只管前两位,后面的就不管了

枚举类型

 enum Gender={Male,Female};
 let gender=Gender.Female;

空类型

 function show(a:number,b:number):void{
    //do something
 }

啥也不返回

undefined类型和null类型

这个不用我多介绍了吧


逸轩
8 声望1 粉丝

我也想成为大佬啊