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

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

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)

你可能感兴趣的:(ts,typescript)