TypeScript函数类型

TypeScript函数类型

1.一般函数
function add(firstName : string,lastName : string, age : number) : string{
    return "FirstName: " + firstName + "    LastName: " + lastName + "  age: "+age;
}

add()                   //提供参数不匹配 error
add("zhang","san")      //提供参数不匹配 error
add("zhang","san",18)   //ok
2.有可选参数的函数
function add(firstName: string,lastName : string, age? : number) : string{
    if(age !== undefined){
        return "FirstName: " + firstName + "    LastName: " + lastName + "  age: "+age;
    }else {
        return "FirstName: " + firstName + "    LastName: " + lastName;
    }
}

add()                   //提供参数不匹配 error
add("zhang","san")      //ok
add("zhang","san",18)   //ok
3.有默认参数的函数
function add(firstName: string,lastName : string, age? : number) : string{

            return "FirstName:"+firstName+"LastName:"+lastName+"age: "+(age !== undefined ? age:0);

}
//为了提高代码可读性,于是做出如下修改
function add(firstName: string,lastName : string, age : number = 0) : string{

        return "FirstName: " + firstName + "    LastName: " + lastName + "  age: "+age;

}
4.带有可选参数的函数
function  add(...arr : number[]) : number{
    var result = 0 ;
    for (var i = 0 ; i < arr.length ; i++){
        result += arr[i];
    }
    return result;
}

add(1)      //result = 1
add(1,2)    //result = 3
add(1,2,3)  //result = 6 ......
5.函数重载
function add(name : string) : string;   //重载签名

function add(age : number) : string;    //重载签名

function add(flag : boolean) : string;  //重载签名

//实现签名
function add(value : (string | number | boolean)) : string{
    switch (typeof value){
        case "string" :
            return `my name is ${value}.`;    //这里的(`)是键盘esc键下面的那个(`)并非单引号
        case "number" :
            return `my age is ${value}.`;
        case "boolean" :
            return `i am ${value}`;
    }
}

console.log(add("jack")); 
console.log(add(18));
console.log(add(false));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值