函数

145 阅读1分钟
  1. 为函数定义类型

    // 函数可以定义两种类型 ,一 就是函数参数的类型, 二 是 函数返回值的类型
    
    // 因为函数的参数是形参,所以不用在意参数的名称是否是正确的,只要对应位置的参数的类型正确就行
    function add (x: number, y: number): boolean {
        return x > y
    }
    
  2. 可选参数和默认参数

    // TS里 每个函数参数都是必须的,在JS中,每个参数都是可以选的。
    
    // TS 传递的参数必须和,函数接收的参数个数是一致的, 不能多不能少,前提没有可选参数
    
    // TS 为了和JS 一致,给函数参数加入了 可选的标记,? 问号  如果参数,是带问号的,那么这个参数可传可不传
    
    function buildName(firstName: string, lastName?: string):string {
        return `${firstName} - ${lastName}`
    }
    
    let result1 = buildName("Bob");  // works correctly now
    let result2 = buildName("Bob", "Adams", "Sr.");  // error, too many parameters
    let result3 = buildName("Bob", "Adams");  // ah, just right
    
    
    
    
    
    // 默认参数  参数带上默认值, 一般的参数默认值是undefined conf = 10 默认值就是10   这个参数此时也就是可传可不传的
    function add(num: number, conf = 10): boolean{
        return num > conf
    }
    
  3. 剩余参数

    // 必要参数,默认参数和可选参数有个共同点:它们表示某一个参数。 有时,你想同时操作多个参数,或者你并不知道会有多少参数传递进来。 在TS 里 或者 ES6+ 可以使用 ...参数名称  来表示剩下的所有参数 
    
    // 剩下的参数 会以数组的方式展示
    
    
    function buildName(firstName: string, ...restOfName: string[]){
        return firstName + restOfName.join("");
    }