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+''
    }
}

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容