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

相关文章

我最大的一个关于TypeScript的问题是,它将原型的所有方法(无...
我对React很新,我正在尝试理解子组件之间相互通信的简洁方法...
我有一个非常简单的表单,我将用户电子邮件存储在组件的状态,...
我发现接口非常有用,但由于内存问题我需要开始优化我的应用程...
我得到了一个json响应并将其存储在mongodb中,但是我不需要的...
我试图使用loadsh从以下数组中获取唯一类别,[{"listing...