Typescript中的函数学习

一. Typescript中的函数

  1. ES5中定义函数的方法
	// 函数声明
	function run() {
		return 'run'
	}
	// 函数表达式(匿名函数)
	const fn = function () {
		return 'run'
	}
  1. TS中定义函数的方法
	// 如果返回值的类型不为字符串则报错
	function fn():string {
		return 'run'    
	}
	// 如果返回值的类型不为数字则报错
	const fn = function():number {
		return 123;
	}
  1. Ts定义方法的传参
	// 函数声明
	function getInfo(name:string , age:number):string {
		return '${name} ---- ${age}'
	}
	getInfo('张三' , 20);  // 注意参数的类型,传错则报错
	// 函数表达式(匿名函数)
	const getMessage = function (name:string , age:number):string {
		return '${name} ---- ${age}'
	}
	getMessage('李四' , 20)
  1. 定义没有返回值的方法
	function run():void {
		console.log('没有返回值的方法,只打印这句话');
	}
  1. 方法的可选参数
    Es5 里面的方法的实参和形参可以不一样,但是Ts中必须是一样的,如果不一样就需要配置可选参数。
    Ts中的可选参数必须配置到参数的最后面。
	function getInfo(name:string , age?:number):string {	
		if(age) {
			return `${name} ---- ${age}` ; 
		}else {
			return `${name} -----${age}`
		}
	}
	alert(getInfo('zhangsan'))  // 因为age这个参数加了一个?所以这个参数可传可不传
  1. 方法的默认参数
	function getUserInfo(name:string , age:number=20):string {
		return `${name} -----${age}`;
	}
	getUserInfo('zhangsan'); // 如果这里传入了age,则覆盖默认参数。
  1. 方法的剩余参数
    俗称三点运算符 …
	function sum(...args:number[]):number {
		var sum = 0;
		for(let i = 0 ; i<args.length ; i++) {
			sum+=args[i]
		}
		return sum;
	}
	alert(sum(1,2,3,4))

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

	function getInfo(name:string):string;  // 1

	function getInfo(age:number):string;  // 2
	
	function getInfo(str:any):any {
		if(typeof str ==='string') {
			return '我叫:' + str;
		}else {
			return '我的年龄是:' + str;
		}
	}
	getInfo('张三'); // 执行 方法1
	getInfo(20); // 执行 方法2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值