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