# 声明式类型函数
通过如下代码我们实现了一个返回值为number类型的方法,同时我们也对返回值和参数进行了约束
```
function funcType(name:string,age:number):number{
return age;
}
var ageNum:number=funcType("张三",18)
```
如果说在我们参数不确定的情况下我们可以通过如下代码进行创建
```
function funcType1(name:string,age:number,sex?:string):numbe
{
return age;
}
var ageNum1:number=funcType1("张三",18,"男")
var ageNum2:number=funcType1("张三",18)
```
对方法进行添加默认值
```
function funcType2(name:string="张三",age:number=18):number{
return age;
}
```
# 表达式类型函数
```
var funcType3=function(name:string,age:number):numbe
{
return age;
}
```
如上代码片段是我们之前创建的函数
那么我们还可以对变量进行约束
```
var funcType4:(name:string,age:number)=>number=function(name:string,age:number):numbe
{
return age;
}
```
下面我们也可以使用接口的形式进行约束
```
interface funcType5{
(name:string,age:number):numbe
}
var funcType6:funcType5=function(name:string,age:number):number{
return age;
}
```
# 联合类型重载
通过如下代码我们可以实现一个联合类型函数,当然这可以采用重载的方式
当我们的参数是number类型时我们的返回值是number类型,当我们的参数是string类型时我们的返回值是string类型,这一块具体在我们实际业务中可以根据实际需求进行相应修改
```
function getVal(val:number):number;
function getVal(val:string):string;
function getVal(val:string|number):number|string{
return val;
}
let a=getVal(1)
let a1=getVal("1")
```
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有