Typescript其實(shí)我覺得就是強(qiáng)語(yǔ)法類型的javascript故爵。
當(dāng)然吧寺,他也不徹底算是一種強(qiáng)類型的語(yǔ)言,他有類型推斷這個(gè)功能韧涨。
我們?cè)陂_發(fā)過程中,最好是給其都顯式的聲明類型侮繁,增加代碼的一個(gè)健壯性,有規(guī)矩才成方圓鼎天。
我們?cè)诙x函數(shù)的時(shí)候,也是需要制定輸入?yún)?shù)及返回值的類型的斋射。
1:簡(jiǎn)單類型定義
/**
* 簡(jiǎn)單類型定義
*/
function getTotal(one:number,two:number):number
{
return one + two;
}
console.log(getTotal(1,2));
2:函數(shù)無返回值時(shí)定義方法
沒有返回值的函數(shù)育勺,我們就可以給他一個(gè)類型注解void,代表沒有任何返回值涧至。
/**
* 函數(shù)無返回值時(shí)定義方法
* @param one
* @param two
*/
function neverReturn(one:number,two:number):void
{
console.log(one + two);
}
neverReturn(10,96);
3:never 返回值類型
如果一個(gè)函數(shù)是永遠(yuǎn)也執(zhí)行不完的腹躁,就可以定義返回值為never,那什么樣的函數(shù)是永遠(yuǎn)也執(zhí)行不完的那?我們先來寫一個(gè)這樣的函數(shù)(比如執(zhí)行執(zhí)行的時(shí)候南蓬,拋出了異常纺非,這時(shí)候就無法執(zhí)行完了)。
function errorFuntion(): never {
throw new Error();
console.log("Hello World");
}
還有一種是一直循環(huán)赘方,也是我們常說的死循環(huán)烧颖,這樣也運(yùn)行不完,比如下面的代碼:
function forNever(): never {
while (true) {}
console.log("Hello JSPang");
}
4:函數(shù)參數(shù)為對(duì)象(解構(gòu))時(shí)
這個(gè)是這篇最有意思的地方窄陡。當(dāng)你的函數(shù)接受的參數(shù)是一個(gè)對(duì)象的時(shí)候炕淮,你會(huì)怎么寫呢?
interface person{
age:number,
name:string
}
let one_person:person = {
age:100,
name:"zhangsanfeng"
}
/**
* 函數(shù)參數(shù)為對(duì)象(解構(gòu))時(shí)
* @param one_person
*/
function getperson(one_person:person):string
{
return one_person.age +'-'+one_person.name;
}
console.log(getperson(one_person));
參數(shù)的類型以及函數(shù)的返回值類型一定要定義好跳夭。
有規(guī)矩才成方圓涂圆。
有好的建議,請(qǐng)?jiān)谙路捷斎肽愕脑u(píng)論币叹。
歡迎訪問個(gè)人博客
https://guanchao.site