TypeScript 2 (函数)

149 阅读1分钟

函数声明

function fun1 (){}

匿名函数

let fun2 =function (){}

指定类型

function fun1(x: number, y: number): number {
    return x + y
}
let fun2: (s1: string, s2: string) => string =
    function (s1: string, s2: string): string {
        return s1 + s2
    }

可选参数 和 默认参数

function fun(x: number, y?: number, z: number = 1) { }

剩余参数

function fun(n1: number, ...n2: number[]) { }

函数重载

根据不同的参数返回不同类型

1不同类型

function getUserInfo(name: string): string;
function getUserInfo(age: number): string;
function getUserInfo(any: any): any {
    if (typeof any == 'string') {
        return 'name is ' + any
    } else if (typeof any == 'number') {
        return 'age is' + any
    }
}

2个数不同

function getUserInfo(name: string): string;
function getUserInfo(name: string, age: number): string;
function getUserInfo(name: string, age?: number): any {
    if (age) {
        return 'name is' + name + ' age is ' + age
    } else {
        return 'name is ' + name
    }
}

箭头函数

// 注 this指向上线文

let fun = ()=>{}