TypeScript从零到一学习记录(三:函数)

一、函数声明的方式,声明类型

// 有返回值
function run(name: string): number {
    return 1
} run(‘zhangsan‘)
// 无返回值
function fun(age: number): void {
    console.log(1)
} fun(1)
let func = function (): void {
    console.log(2)
}

二、函数可选传入参数,es5不传参数也不会报错,但是ts编译不会通过

// 可选传入参数,?表示该参数可不传,这时不传参数才不会报错。多个参数时可选参数应放在最后
function run(age: number,name?: string): number {
    return 1
} run(1)

三、函数形参默认参数

// 存在默认参数时也可以不传入参数
function run(age: number=20): number {
    return age
} alert(run())

四.拓展运算符

// 当存在多个参数且类型相同时
function run(num:string,...result:number[]):void{
    for(let i=0;i<result.length;i++){
        console.log(result[i])  // 2,3,4
    }
}run(‘1‘,2,3,4)

五.函数重载

  同名函数的参数不同时,选择执行不同方法

function run(code: string): string;
function run(code: number): number;
function run(code: any): any {
    if (typeof code === ‘number‘) {
        return code + 1
    } else {
        return code + ‘1‘
    }
} 
alert(run(1)) // 2
alert(run(‘1‘)) // 11

相关推荐