3、Typescript 函数

作者: 圆梦人生 | 来源:发表于2019-03-05 15:37 被阅读3次

    ts中函数:

    • 1、函数返回值定义:
      • 1-1、function fun1():string{}
      • 1-2、let fun = function():number{}
    • 2、函数参数类型定义:
      • 2-1、function fun1(name:string, age:number):string{}
      • 2-2、let fun = function(age:number):string {}
    • 3、 函数参数可选(参数后跟着?号表示可选)
      • 3-1、function fun1(name:string, age?:number):any{}
    • 4、函数的默认参数
      • 4-1、function fun1(name:string, age:number = 10):any{}
    • 5、函数的可变参数
      • 5-1、function fun1(age:number, ...num:number[]):number{}
    • 6、函数的重载
      • 6-1、根据类型判断
    function fun1(name:string):string;
    function fun1(age:number):string;
    function fun1(str:any):any{
       if(typeof str === 'string'){
          return 'string == ' + str;
       }else {
           return 'number == ' + str;
       }
    }
    
    • 6-2、根据参数判断
    function fun1(name:string):string;
    function fun1(name:string, age:number):string;
    function fun1(str:string, age?:number):any{
      if(age){
        return 'string == ' + str+ ', age === '+ age;
      }else {
        return 'number == ' + str;
      }
     }
    

    案例:

    // 1、ts函数返回类型定义
    function fun1():string {
        // 不能将类型“122”分配给类型“string”。ts(2322)
        // return 122;
    
        // 返回字符串
        return '123字符串';
    }
    console.log('fun1 == ', fun1());
    
    // 2、ts匿名函数返回类型定义
    let fun2 = function():number {
        return 123345
    }
    console.log('fun2 == ', fun2());
    
    // 3、ts中函数参数类型定义
    function fun3(name:string, age:number):string{
        return `name == ${name},age == ${age}`;
    }
    console.log('fun3 == ', fun3('zs', 20));
    
    // 3、ts中匿名函数参数类型定义
    let fun4 = function(age: number):number{
        return age
    }
    console.log('fun4 == ', fun4(123));
    
    // 4、ts中方法可选参数,参数后跟着?号
    let fun5 = function(name:string, age?:number):any{
        return 'abcdefg';
    }
    console.log('fun5 == ', fun5('233'));
    
    // 5、ts中函数参数默认值
    function fun6(name: string, age: number = 10):any{
        console.log(`name == ${name}, age == ${age}`);
    }
    
    fun6('zs')
    
    // 6、ts可变参数
    function fun7(age:number, ...num:number[]):number {
        let sum = age;
        for(let i=0;i<num.length;i++){
            sum+= num[i]
        }
        return sum
    }
    console.log('fun7 === ', fun7(1,2,3,4,5));
    
    // 7、ts中函数的重载
    function fun8(name:string):string;
    function fun8(age:number):number;
    function fun8(str:any):any{
        if(typeof str === 'string'){
            return 'string == ' + str;
        }else if(typeof str === 'number'){
            return 'number == ' + str;
        }else{
            return '未识别的数据';
        }
    }
    console.log('fun8 === ', fun8('zs'))
    console.log('fun8 === ', fun8(20))
    // console.log('fun8 === ', fun8(true))
    
    // 7-2、ts中函数的重载
    function fun9(name:string):string;
    function fun9(name:string, age:number):string;
    function fun9(name:string, age?:number):any{
        if(age){
            return `name == ${name}, age == ${age}`;
        }else{
            return `name == ${name}`;
        }
    }
    console.log('fun9 === ', fun9('ls', 20))
    
    

    相关文章

      网友评论

        本文标题:3、Typescript 函数

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