typescript中的函数,文章二

4 篇文章 0 订阅

定义函数方法返回数据类型

// boolean string number unll undefined any
// void 表示没有返回值	
function fn():string {
	// 定义返回string类型数据
	return 'str'
}

// 匿名函数
var fn = function ():number {
	return 123
}

定义函数方法传参

function fn(name: string, age: number):void {
	console.log(name) // 输出李狗蛋
	console.log(age) // 输出18
}
fn('李狗蛋', 18)

定义函数方法传参,可选参数

// 在形参名后面加?,参数为可选参数,可传可不传
// 注意:可选参数配置到最后面
function fn(name: string, age?: number):void {
	console.log(name) // 输出李狗蛋
}
fn('李狗蛋')

定义函数方法传参,默认参数

// 在形参后面赋值,就是给函数传一个默认参数
function fn(name: string, age: number = 22):void {
	console.log(name) // 输出李狗蛋
	console.log(age) // 输出22
}
fn('李狗蛋')

定义函数方法传参,剩余参数

// 三点运算符接收传过来的参数
// a对应第一个参数,b对应第二个参数,剩余的参数数组接收
function fn(a:number, b:number, ...params:number[]):void {
	console.log(a) // 输出1
	console.log(b) // 输出2
	console.log(params) // 输出[3, 4, 5]
}
fn(1, 2, 3, 4, 5)


function fn(...params:number[]):void {
	console.log(params) // 输出[1, 2, 3, 4, 5]
}
fn(1, 2, 3, 4, 5)

函数重载

// typescript中的重载通过同一个函数提供多个函数类型定义来实现多个表现
function fn(name: string): string
function fn(age: number): number
function fn(param: any): any {
  if (typeof param === 'string') {
    console.log(param) // 输出 李狗蛋
    return param
  } else {
    console.log(param)
    return param
  }
}

fn('李狗蛋')

// 可选形参
function fn(name: string): string
function fn(name: string, age: number): number
function fn(param: any, age?:number): any {
  if (typeof param === 'string') {
    console.log(param) // 输出 李狗蛋
    return param
  } else {
    console.log(param)
    return param
  }
}

fn('李狗蛋')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值