這篇文章主要講解了“TypeScript中的函數(shù)怎么定義與使用”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“TypeScript中的函數(shù)怎么定義與使用”吧!

傳入兩個參數(shù),沒有返回值
const fun1 = (key: string, value: number): void => {
console.log(key, value);//"Typescript",100
};
fun1("Typescript", 100);const fun2 = (a: string, b?: number) => {
//形參后面加個?代表可以傳遞參數(shù)也可以不傳遞參數(shù)
console.log(a);//typescript
}
fun2("typescript");
注意:配置可選參數(shù)必須配置到最后一個參數(shù),
否則ts會有報錯提示(雖然編譯可以通過但不建議這么使用)//設(shè)置了默認值,并傳入實參,默認實參會代替默認值,這一點和ES6一致
const fun3 = (a: number, b: string = "ECMAScript"): void => {
console.log(a);//20
console.log(b);//typescript
};
fun3(20, "typescript");
/設(shè)置了默認值,沒有傳遞實參,默認B的值就是true
const fun4 = (a: number, b: boolean = true): void => {
console.log(a);//60
console.log(b);//true
};
fun4(60);//接收多個參數(shù),并放到一個容器里面,與ES6中的rest...三點運算符一樣
const fun5 = (...result: number[]): void => {
//用變量result接收實參,并指明數(shù)據(jù)類型
let sum: number = 0;
for (let index = 0; index < result.length; index++) {
sum += result[index];
};
console.log(sum);//150
};
fun5(10, 20, 30, 40, 50);
//注意接收多個實參的變量必須放在最后一個,否則會報錯
//接收參數(shù),與變量名一一對應(yīng)
const fun6 = (first: string, ...result: string[]): void => {
console.log(first);//string
console.log(result);//[ "number", "boolean", "function", "true" ]
}
fun6("string", "number", "boolean", "function", "true");// java中方法的重載:重載指的是兩個或者兩個以上同名函數(shù),
但它們的參數(shù)不一樣,這時會出現(xiàn)函數(shù)重載的情況。
// typescript中的重載:
通過為同一個函數(shù)提供多個函數(shù)類型定義來試下多種功能的目的。
//TS中函數(shù)重載 TS為了兼容ES5和ES6 不能寫大括號
//對實參類型進行約束
function dataFn(a: string, b: number): void
function dataFn(a: number, b: string): void
function dataFn(a: number, b: number): void
function dataFn(a: any, b: any): void {
//對傳入的實參類型進行判斷 如果符合某個函數(shù)就執(zhí)行其函數(shù)體
if(typeof (a) === "string") {
console.log("This is 字符串")
};
if (typeof (a) === "number" && typeof (b) === "number") {
console.log("this is 數(shù)字");
};
if (typeof (a) === "number") {
console.log(a, b);//20,typescript
} else {
}
}
dataFn(10, 20);
dataFn(20, "typescript");基本形式:
let func = num:number => num; //只有一個形參可以‘="后面寫形參名,并約束其類型
let func = () => num;//如果有多個形參,在‘="后面寫‘()"把形參寫在()里面并約束其類型
let sum = (num1, num2) :number=> num1 + num2;//如果只有1條執(zhí)行語句,
//直接在‘=>"后面寫執(zhí)行語句即可,還要指定其返回類型
如果有多條語句必須寫{},將代碼寫在{}里面,重新指定返回值,以及類型
注意事項:
函數(shù)體內(nèi)的this對象,就是定義時所在的上下文,如果箭頭函數(shù)是全局里面的話,
還是指向window,建議在箭頭函數(shù)外部再嵌套一層函數(shù)以便于控制里面的this
不可以當作構(gòu)造函數(shù),也就是說,不可以使用new命令,否則會拋出一個錯誤。
不可以使用arguments對象,該對象在函數(shù)體內(nèi)不存在。
如果要用,可以用 rest 參數(shù)代替。
const fun8 = (a: number, b: number): void => {
console.log(a, b)
}
fun8(10, 20);感謝各位的閱讀,以上就是“TypeScript中的函數(shù)怎么定義與使用”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對TypeScript中的函數(shù)怎么定義與使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
文章標題:TypeScript中的函數(shù)怎么定義與使用-創(chuàng)新互聯(lián)
地址分享:http://chinadenli.net/article20/pcdco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站導(dǎo)航、電子商務(wù)、搜索引擎優(yōu)化、微信公眾號、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容