TypeScript学习第二天

声明函数:


//第一示例
let fnc = function(name:string,age:number):string{
	return name + age
}
let res = fnc("张三",18)

//第二示例
let fnc = function(name:string,age?:number):string{
	return name + age
}
let res2 = fnc("张三")

//第三示例
let fnc = function(name:string,age:number=15):string{
	return name + age
}
let res3 = fnc("张三")

console.log(res) //张三18
console.log(res2) //张三undefined
console.log(res3) //张三10

函数重载:

函数重载可以定义多套规则,但是操作函数只能有一个。

//规则1
function fnc(params1:string):void
//规则2
function fnc(params1:number,params2:string):void
//操作函数 只能有一个
function fnc(params1:any,params2:any):void{
	console.log(params1)
	console.log(params2)
}
fnc('张三')
fnc(15'李四')
  • fnc(‘张三’)----->TS会自动识别并遵循规则一,所以此时输出以此为 张三 undefined
  • fnc(15,‘李四’)----->TS会自动识别并遵循规则二,所以此时输出以此为 15 李四

联合类型与交叉类型:

//联合类型
let num:string | number = 1  //此时nmu类型可为string或number

//交叉类型
interface A {
	name:string
}
interface B {
	age:number
}
let obj:A & B = {
	name:'张三',
	age:15
}

在这里插入图片描述
此时,obj就拥有了A、B的属性啦,相当于整合成了一个,也可以使用extends来继承也可以实现同样的效果。
如:

interface A {
	name:string
}
interface B extends A {
	age:number
}
let obj:B = {
    name:'张三',
    age:111
}

至此。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值