TypeScript的函数使用大全

57 阅读1分钟

基础使用

函数主要用于约束参数和返回值类型

function sum (a: number, b: number): number{
    return a + b 
} // 参数括号后面表示约束返回值类型为number类型,若是void表示没有返回值,never表示函数永远不会结束
function add (a: number, b: number): never{
    while(true){
        xxxxx
    }
    let c: number = a + b //这行代码不会执行并且该函数无限循环不会结束
}

可选参数

函数使用时,参数b和c可以不传,并且可选参数不能是第一个,必须是最后几个,即必选参数不能处于可选参数后面

funtion sum(a:number, b?:number, c?:number){
    if (b && c) {
        return a + b + c
    }
    return a
}
sum(20)

参数默认值

参数默认值和js一样,有默认值的参数必定是可选参数

function sum(a: number, b?: number, c?: number, d: number=20): number {
    if (b && c) {
        return a + b + c
    }
    return a + d
}
console.log(sum(10));

函数约束

使用combine函数时,必须要求两个参数要么都是string,要么都是number

function combine(a: string , b: string): string
function combine(a: number, b: number): number
function combine(a: string | number, b: string | number): string | number{
    if (typeof a === 'number' && typeof b === 'number'){
        return a * b
    }else if (typeof a === 'string' && typeof b === 'string') {
        return a + b
    }
    throw new Error('a和b需要类型相同')
}
const result = combine(1, 2)