TypeScript函数

01.函数的基本使用

匿名函数

const yearMonth=function (year:number,month:number):number {
    return year+month
}
let yea1=yearMonth(12,20)
console.log(yea1);

有名函数 | 命名函数 | 普通函数

//有名函数 | 命名函数 | 普通函数
function older(worker:string) {
    return worker
}
let rea2=older("电焊工")
console.log(`亚鑫的职业是${rea2}`);

// const workeAge=(age:number):void=>{
//     console.log(`我的工作经验有${age}年了`);
// }
const workeAge=(age:number):void=>console.log(`我的工作经验有${age}年了`);
workeAge(20)

接口函数

type mySex=(x:number,y:number)=>number
const mysex:mySex=(a:number,b:number)=>a+b
const rea3=mysex(0,0)
console.log(`我是亚鑫,我是个诡计多端的${rea3}`);

02.函数的参数处理

●可选参数:

 * 在TypeScript函数里,如果我们定义了参数,则我们必须传入这些参数,除非将这些参数设置为可选,可选参数使用问号标识?

//可选参数
const func1:(a:number,b:number)=>number=(x:number,y:number)=>{
    return x;
}

const func2=function(a:number,b?:number):number{
    return a;
}
func2(10);
func2(10,20);
func2(10,undefined);

 ●默认参数:

 * 我们也可以设置参数的默认值,这样在调用函数的时候,如果不传入该参数的值,则使用默认参数,语法格式为``

//参数的默认值
const func3=function(x:number,y:number,z:number=300) {
    return x+y+z;
}
// let res=func3(100,200)
let res=func3(100,200,400)
console.log(res);

●剩余参数:

 * 有一种情况,我们不知道要向函数传入多少个参数,这时候我们就可以使用剩余参数来定义。

 * 剩余参数语法允许我们将一个不确定数量的参数作为一 个数组传入。...args :any[  ]

//函数的剩余参数
const func4=function (...args:any[]) {
    console.log(args);
}
func4(10,20,30,"亚鑫")

const func5=function(a:number,b:string,...args:any[]) {
    console.log(a);
    console.log(b);
    console.log(args);
}
func5(10,"利宾","胡歌","彭于晏")

03.构造函数

//构造函数
var myfunc=new Function("a","b","return a*b")
var res=myfunc(10,2)
console.log(res);

04.函数的重载

//函数重载
//函数的名字相同,而参数不同,返回的类型可同可不同
 function addFunc(a:number,b:number):number
 function addFunc(a:string,b:string):string
 function addFunc(a:string,b:number):number
 function addFunc(a:number,b:string):number

 function addFunc(a:any,b:any){
    return a+b
 }
 addFunc(10,10)
 addFunc("我的名字叫","亚鑫")
 addFunc("我的sex是",0)
 addFunc(1,"我的最爱")


//参数的数量不同
function str(s1:string):string
function str(s1:string,n1:string):void
function str(s1:string,n1:number):void
function str(s1:any,n1?:any):any{
    console.log(s1);
    console.log(n1);
}
// str("亚")
str("亚鑫","dell")
str("亚鑫",0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值