TypeScript 系列(六)—— 函数

函数是JavaScript应用程序的基础。 它帮助你实现抽象层,模拟类,信息隐藏和模块。 在TypeScript里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方。 TypeScript 为 JavaScript 函数添加了额外的功能,让我们可以更容易地使用。

 函数类型

从这个系列开篇到现在一直在强调的都是 TS 具有类型校验的特性。TS 中的函数与 JS 中的函数最根本的区别也就是 TS 函数具有类型校验的能力,这个能力表现在参数和返回值上。

function foo(x: number, y: number):number {
    return x + y
}

需要注意的是,TS 中的函数在调用时,实参个数以及实参的类型必须跟形参的个数以及类型完全匹配,参数不能多也不能少(在默认情况下),否则会报错。

但是,有些时候我们期望参数是可选的或者某个参数带有默认值的。

在参数的后面加上 ?就可以表示参数的可选参数,可传可不传。

function foo(x: number, y: number,z?:number):number {
    return z ? x + y + z : x + y
}
foo(1,2)
foo(1,2,3)

上面的函数中,z 就是一个可选参数。

对于默认值参数,在参数名后直接赋上一个默认值即可,若实参没有传入值,那么就会使用默认值,否则使用实参的值。

function foo(x: number, y: number,z:number = 4):number {
    return z ? x + y + z : x + y
}
foo(1,2)//7
foo(1,2,3)//6

 

你可能感兴趣的:(TypeScript,TypeScript)