首页 前端知识 Typescript函数返回值及参数类型校验,函数重载以及箭头函数

Typescript函数返回值及参数类型校验,函数重载以及箭头函数

2024-06-21 09:06:02 前端知识 前端哥 392 80 我要收藏

函数(或匿名函数)返回值类型校验

function run():string{
	return 'sifuchun'
}

没有返回值类型校验

function run():void{
	console.log(....)
}

函数参数类型校验

function person(name:string,age:number):string{
	return `${name}---${age}`
}
alert(person('zhangsan',20))

可选参数
可选参数必须配置到参数的最后

function person(name:string,age?:number):string{
	return `${name}---${age}`
}
alert(person('zhangsan',20))

默认参数
es5中没法设置默认参数,es6和ts中可以设置默认参数,没有传参打印默认参数,传参以传参为主。

function person(name:string,age:number=20):string{
	return `${name}---${age}`
}
alert(person('zhangsan'))

剩余参数

// 写法1:
// 三点运算符,接收新参传过来的值
function sum(...result:number[]):number{
	for(let i = 0;i<result.length;i++){
		let sum = 0;
		sum + = result[i]
	}
	return sum
}
alert(sum(1,2,3,4))
// 写法2:
function sum(a:number,...result:number[]):number{
	let sum = a;
	for(let i = 0;i<result.length;i++){
		sum + = result[i]
	}
	return sum
}
alert(sum(1,2,3,4))

函数重载
es5中定义同名函数,形参不同也会被覆盖,称为函数重载
es6和ts中支持函数重载:ts中的重载,参数必须在参数重载的参数中找到,不然会报错

function getInfo(name:string):string;
function getInfo(age:number):string;
function getInfo(str:any):any{
	if(typeof === 'string'){
		return '姓名'+str;
	}else{
		return '年龄'+str
	} 
}
alert(getInfo('zhangsan'))

箭头函数,es6
箭头函数this指向上下文

setTimeout(()=>{
	alert('run')
},1000)
转载请注明出处或者链接地址:https://www.qianduange.cn//article/13170.html
标签
评论
发布的文章

HTML5 多人游戏开发(二)

2024-07-20 17:07:44

web前端(第一天HTML)

2024-07-20 17:07:16

HTML 音频(Audio)

2024-07-20 17:07:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!