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
posted @ 2020-03-08 16:02  南风晚来晚相识  阅读(3817)  评论(0编辑  收藏  举报