美文网首页
2.函数的定义及函数的参数

2.函数的定义及函数的参数

作者: 我只会吃饭 | 来源:发表于2020-02-10 16:43 被阅读0次

    函数的定义

    // 函数式
    function run2():void {
    
    }
    
    run2();
    
    // 赋值表达式
    let run3 = function ():void {
    
    }
    
    run3();
    

    函数的参数 (必传)

    function person(name:string, age:number):object {
        return {
            name,
            age
        }
    }
    
    // 形参必传
    console.log(person('hyj', 18));
    
    // console.log(person('hyj')); // 报错
    

    函数的可选参数

    可选参数 使用 '?'
    可选参数必须配置到参数的后面

    
    function person1(name:string, age?:number):object {
        return {
            name,
            age
        }
    }
    
    console.log(person1('hyj'));
    

    函数的默认参数

    function person2(name:string, age:number=18):object {
        return {
            name,
            age
        }
    }
    
    console.log(person2('hyj'));
    

    函数的 剩余参数

    使用扩展运算符

    // 扩展运算符 处理多于的参数
    function sumTotal(a:number, b:number, ...argu:number[]):number {
        let res:number = a + b;
        return argu.reduce((a, b) => a + b, res);
    }
    

    函数的重载

    typescript中的重载:通过为同一个函数提供多个函数类型定义来实现多种功能的目的

    function people(name:string):string;
    function people(age:number):number;
    function people(desc:any):any {
        return typeof desc === 'string' ? '我叫' + desc : '我芳龄' + desc;
    }
    
    console.log(people('hyj'));
    console.log(people(18));
    // console.log(people(true)); // 报错 没有这个类型
    
    
    function people1(name:string):string;
    function people1(name:string, age:number):string;
    function people1(name:any,age?:any):any {
        return typeof age !== 'number' ? '我叫' + name : {name, age};
    }
    
    console.log(people1('hyj'))
    console.log(people1('hyj', 18))
    

    相关文章

      网友评论

          本文标题:2.函数的定义及函数的参数

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