ts函數講解與不確定參數是否使用以及限制返回類型


1.聲明式函數

函數有兩個參數 參數的數據類型是 string number  
返回值值 number 哈
function person(name: string, age: number): number {
    return age;
}

var ageNum: number = person("zahngs", 10);

console.log(ageNum);

2.姓別參數不確定使用 有可能沒有性別哈。

function person2(name: string, sex?: string): string {
    return name;
}

var name2: string = person2("張三", "sex");

console.log(name2);

3.函數參數的默認值

function person(name: string = "張三", age: number = 10): number {
    return age;
}

var p: number = person();
console.log(p);

4類型斷言

//在進行類型斷言的時候,必須斷言成一個聯合類型中存在的類型
下面這個例子 只能夠斷言成 字符串或者是數字。

function getAsse(name: string | number) {
   // return (<string>name).length //第一種  
   return (name as string).length; //第二種 react 中使用這一種
}

5求和哈 運用了擴展運算符哦

<!-- 使用了擴展運算符 將它變成一個偽數組 ...result -->

function sum(...result: number[]): number {
var sum = 0;
for (var i = 0; i < result.length; i++) {
sum += result[i];
}
return sum;
}

console.log(sum(1, 2, 34, 5)); //42

6.typescript 中方法的重載 es 這樣也可以去做重載 同樣根據參數的類型去判斷

//根據參數的類型去判斷
function getINfo(str: any): any {
if (typeof str === "string") {
return "我叫" + str;
} else if (typeof str === "number") {
return "我今年" + str;
}
}
console.log(getINfo(10)); //我今年 10
原生 es
function getINfo(str) {
if (typeof str === "string") {
return "我叫" + str;
}
else if (typeof str === "number") {
return "我今年" + str;
}
}
console.log(getINfo(10));

7.typeScript中函數類型

函數類型:通過調用接口的方式作為函數的類型來使用
實現一個功能
在str1中查找是否有str2;
如果有返回true,否者返回false

// 定義一個接口,用來作為某個函數的類型使用
interface ISearchHas {
    (str1:string,str2:string) : boolean
}
//定義一個函數,函數類型就是上面定義的接口
const lookforhas: ISearchHas = function(str1:string,str2:string) :boolean{
    return str1.search(str2) > -1
}
console.log(lookforhas("hello",'o'));//true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM