typeScript中的函数(三)

本文详细介绍了TypeScript中的函数定义、声明、匿名函数、方法传参、可选参数、默认参数、剩余参数及函数重载等内容,展示了如何利用这些特性进行更灵活的编程。

函数定义:(必须指定返回值的类型,若无返回值返回值类型定义未void)

函数声明:

function testFn():string {
  return 'testfn'   
}

匿名函数定义:

var testFn1 = function():void{
    
}

定义方法传参

function test2Fn(name:string,age:number):string{
    return `${name}--${age}`
}
test2Fn('mariah',108);

可选参数

ES5中方法的实参和形参可以不一样,ts中必须一样,如果不一样,就需要配置可选参数,可选参数必须配置到参数的后面

function test3Fn(name:string,age?:number):string{
    if(age){
        return `姓名:${name}---年龄:${age}`
    }else{
        return `姓名:${name}---年龄:保密`
    }
}
test3Fn('mariah')

默认参数

function test4Fn(name:string='mariah',age:number=20):string{
    return `姓名:${name}---年龄:${age}`
}
test4Fn(undefined,30)  //第一个参数有设置默认值,可不传参,第二个参数为必传
test4Fn('zhang',30)

剩余参数

function sum(a:number,b:number,...arr1:number[]):number{
    let val = a;
    for(var i=0;i<arr1.length;i++){
        val+=arr1[i]
    }
    return val
}
sum(1,2,3,4)

函数重载

typescript中的重载:通过为同一个函数提供多个函数类型定义来实现多种功能的目的。

function getInfo(name:string):string;
function getInfo(age:number):number;
function getInfo(str:any):any{
    if(typeof str=='string'){
        return `我的名字是:${str}`
    }else{
        return `我的今年${str}岁了`
    }
}
console.log(getInfo(50))

//****************************************************

function getInfo(name:string):string;
function getInfo(name:string,age:number):string;
function getInfo(name:any,age?:any):any{
     if(age){
         return `名字:${name},年龄:${age}`
     }else{
         return `名字:${name},年龄:保密`
     }
 }
console.log(getInfo('zhangmeimei',10))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值