# 函数类型定义
# ?号的作用
对于不确定的属性可用?代表不确定性
# 代码示例
let b: {
age?: number
}
# 剩余属性
当对象中存在不确定的参数无法进行定义时,可使用剩余参数的方法进行定义
# 代码示例
用【peopsname:属性名类型】:值类型 表示剩余属性
let b: {
name: string,
age?: number,
[item: string]: any //所有剩余参数类型未any
}
b = {
name: "123",
age: 12,
sex: 13 //剩余的参数
}
# 声明函数类型结构
语法 (形参:类型,形参:类型...)=>返回值
# 代码示例
//声明函数结构类型
let c: (a: number, b: number) => number
//定义函数
c = function (n1, n2) {
return n1 + n2
}
# 函数形参类型定义
在调用函数时为使调用者传入正确类型的形参,从而避免调用错误
# 代码示例
function fn(name: string, age: number | string) {
console.log(name + age)
}
//调用函数并传入参数
fn('张三', 18)
# 函数形参可选参数
使用?号表示该参数是可选的
# 代码示例
function fn(name: string, age?: number | string) {
console.log(name + age)
}
//调用函数并传入参数
fn('张三', 18)
# 函数返回值类型定义
在函数形参括号后跟上类型定义函数的返回值类型
# 代码示例
function fn(name: string, age?: number | string): string {//表示返回值为字符串
return name
}
// void表示空 以函数返回值为列 就是没有返回值的函数
// never 表示永远不会返回结果