typescript(3): 函数

函数

  1. 函数类型

    1. 为函数定义类型
    function add(x: number, y: number) {
        return x+y
    }
    
    let myAdd = function(x: number, y: number): number {
        return x+y
    }
    

    可以给每个参数添加类型之后再为函数本身添加返回值类型。Typescript 能够根据返回语句自动判断出返回值类型,因此通常省略它

    1. 书写完整函数类型
    let myAdd: (x: number, y: number) => number = function(x: number, y: number): number {
        return x + y
    }
    

    函数的类型只是由参数类型和返回值组成的
    只要参数类型是匹配的,就认为是有效的函数类型

  2. 可选参数和默认参数

    JavaScript 中,每个参数可传可不传,不传参的时候,值为 undefined ,在 typescript 里可以使用 实现可选参数的功能

    function AllName(firstName: string, lastName?: string) {
        ...
    }
    

    当没有传递这个参数或者传递的值为 undefined 时,可以为这个参数提供一个默认值
    与普通可选参数不同,带默认值的参数如果出现必选参数前面,用户必须明确传入

    function fullName (firstName: string, lastName="smith")
    
  3. 剩余参数

    剩余参数会被当做个数不限的可选参数,可以一个没有,也可以有很多个,把这些剩余参数用 [] 组织起来,用 ... 来引用

    function fullName(firstName: string, ...restName: string[]){
        ...
    }
    
  4. this和箭头函数

  5. 重载

    同一个函数提供多个函数类型定义

    function pickCard(x: {suit: string; card: number; }[]): number;
    function pickCard(x: number): {suit: string; card: number; };
    function pickCard(x): any {
        if (typeof x == "object") {
            let pickedCard = Math.floor(Math.random() * x.length);
            return pickedCard;
        }
        else if (typeof x == "number") {
            let pickedSuit = Math.floor(x / 13);
            return { suit: suits[pickedSuit], card: x % 13 };
        }
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值