美文网首页
TypeScript —— 函数的重载

TypeScript —— 函数的重载

作者: 有一种感动叫做丶只有你懂 | 来源:发表于2020-10-19 15:25 被阅读0次

    1.什么是重载?

    官方解释:方法根据传入参数的不同会返回两种不同的类型。 如果传入的是代表纸牌的对象,函数作用是从中抓一张牌。 如果用户想抓牌,我们告诉他抓到了什么牌。 但是这怎么在类型系统里表示呢。

    2.示例

    比如我们有一个函数是这样的,当第一个参数是字符的时候,第二个参数是数字。当第一个参数是数字的时候,第二个参数是字符。但在ts里面我们该怎么表示这个重载,我们看一下下面的这个例子:

    function fn(param1:number,param2:string)
    function fn(param1:String,param2:number)
    function fn(param1: any, param2: any) { 
    
    }
    

    当我们传入错误的参数类型的时候,ts会给我们检测出一个错误,说没有与此调用匹配的重载。(因为我们没有定义第一个参数为字符,第二个字符为字符,这样的重载,所以ts会检测出异常)


    image.png image.png

    下面我们来增加一个重载,支持这种参数的传递

    function fn(param1:String,param2:String)
    function fn(param1: number, param2: string)
    function fn(param1:String,param2:number)
    function fn(param1: any, param2: any) { 
    
    }
    fn('a', 'b');
    

    然后我们看一下执行结果


    image.png

    ok,没报错了

    相关文章

      网友评论

          本文标题:TypeScript —— 函数的重载

          本文链接:https://www.haomeiwen.com/subject/tpjkmktx.html