Typescript入门之:函数

Typescript 函数


为函数定义类型

function add(x:number,y:number):number{
    
    return x + y
}

let myAdd = function(x:number,y:number):number{return x + y}

可选参数和默认参数

  • TS所有写明的形参都必须传值,并且不允许多传,但是可以传入null和undefined
    在JS里面,所有的参数都是可传可不传,不传就是undefined,但是ts不行,可选参数需要通过?标识,

    并且可选参数必须在必填参数后面声明

  • TS中的默认参数可以直接在后面添加=号标识,并且传入默认值

  • 剩余参数:JS中所有的参数会存在一个叫argument的类数组当中,而ts如果传值的时候不定义剩余参数,那么多传一个参数都会报错,实现是...表示,将后面所有剩余参数接受并且传入类数组

this

  • js中的this发生在函数调用时,并指向当前的执行上下文,但是箭头函数的this,会指向函数声明区域的this上下文

  • 在ts中,this可以当作参数传入函数,同时也可以使用类型指定,表示在当前函数内部作用域 中所有的this的类型仍然受限制,避免了this的类型为any的情况

  • this写在返回值里面

函数的重载

在JS中会通过条件判断,判断参数的类型进行不同的逻辑处理,实现函数的重载

由于TS是一种强类型的设计理念,所以在各种条件判断之前,必须多多种情况的函数条件进行多次声明


function pickCard(x:string):string;
function pickCard(x:number):string;
function pickCard(x:any):string{
    if(typeof x =='string'){
        return x
    }else if (typeof x == 'number'){
        return x+''
    }
}

这样实现会在函数调用时进行严格的类型检查,同时通过判断,走不同的逻辑代码,其他类型调用该函数将会报错

你可能感兴趣的:(Typescript入门之:函数)