首先,这里不需要我多说了,大家也知道 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 类型
这个不用我多介绍了吧