在 TS 中,要使用函数,要求必须约束函数参数和返回值的类型。
一、基础语法
1、JS 中函数
函数声明式:
function 函数名(参数) {
return 返回值
}
函数表达式:
const 变量名 = function(参数) {
return 返回值
}
2、TS 中的函数
函数声明式:
function 函数名(参数: 参数类型): 返回值类型 {
return 返回值
}
函数表达式分为以下几种写法:
1)只定义函数参数和返回值的类型
const 变量名 = function(参数: 参数类型): 返回值类型 {
return 返回值
}
2)定义了变量的类型,以及函数参数和返回值的类型
const 变量名: (参数: 参数类型) => 返回值类型 = function(参数: 参数类型): 返回值类型 {
return 返回值
}
3)只定义变量的类型
const 变量名: (参数: 参数类型) => 返回值类型 = function(参数) {
return 返回值
}
二、函数参数
1、基本类型的参数
function add(x: number, y: string) {
console.log(x, y);
}
add(1, '2')
2、引用类型的参数
数组:
function add(params: number[]) {
console.log(params[0], params[1]);
}
add([1, 2])
对象:
function add(params: { x: number, y: string }) {
console.log(params.x, params.y);
}
add({ x: 1, y: '2' })
3、参数的默认值
function add(x: number, y: number = 2) {
console.log(x, y);
}
add(1);
注:带默认值的参数,建议放到所有形参的最后。
4、可选参数
可以在形参名的后面通过 ? 来设置参数的可选:
function add(x: number, y?: number) {
console.log(x);
}
add(1)
5、不定参数
function add(x: number, ...y: number[]) {
console.log(x, y);
}
add(1, 2)