一、数组
number、string、boolean这些直接跟在:后边就行,代表这个数组里面的值必须是以上这些类型,当我们这个数组里的数据类型不确定的时候,就跟any
let arr:string[]=['我想月入W','你是懂做梦的']
let arr1:unmber[]=[12,13,14]
let arr2:boolean[]=[true.true,fales]
let arr3:any[]=[{'薪资':'1W'},fales,'2w']
上边这种写法看起来怪怪的,还有一种相对于比较规范的写法
let Arr1:Array<unmber>=[1,5,15,5]
let Arr2:Arrat<string>=['月入W','月入W']
二、函数
参数名后直接跟冒号定义类型,返回值得类型定义在小括号后,这里写的是一个函数的两个参数分别数字类型和字符类型,返回值是字符类型
let fun=function(age:unmber,name:string):string{return age+name}
log fun(10000,'西瓜')
定义了两个参数就必须传两个参数,如果非不想传,那就写一个默认值,像这样,或者是用可选试操作符?
let fun=function(age:unmber=10000,name:string):string{return age+name}
let fun=function(age?:unmber,name:string):string{return age+name}
log fun('西瓜')
上边的写法里,函数传参定义类型看起来有些不美观,我们可以用前面学的interface做一个类型约束,像这样。interface的玩法就很多了,任意类型,拼接数据,默认值,空值,只读等等
//定义个对象,限制类型
interface FromData{
unm:unmber
str:string
}
//传参就传刚才定义的对象类型,返回值也反这个对象类型
let fun=function(data:FromData):FromData{
return FromData
}
log(fun({
num:123,
str:'月入W'
}))
//{num:123,str:'月入w'}
三、函数重载
概念:函数重载是指方法名字相同,但传入的参数不同,返回类型可以相同也可以不同
如果参数不同,控制传参的类型应该是any,参数数量不同可将不同的参数设置为可选
//第一套逻辑
function fun(data:unmber):void
//第二套逻辑
function fun(data:unmber,data1:string):void
//逻辑处理函数
funtcion fun(data:any,data1?:any):any
{
return data+data1
}
逻辑处理函数的第二个值设置为可选,是因为第一套逻辑只传了一个参数