ts中的函数

ts中的函数(学习笔记)

基本使用

  function add(a1: string, a2: string): string {
    return a1 + a2;
  }

  const add2 = function (num1: number, num2: number): number {
    return num1 + num2;
  };

  // ts中函数的完整写法
  const add3: (num1: number, num2: number) => number = function (
    num1: number,
    num2: number
  ) {
    return num1 + num2;
  };

函数参数

可选参数

添加:问号?

默认参数

  const add = (num1: number, num2: number = 20, num3?: number) => {

    if (num3 !== undefined) {

      console.log("此时传入了可选参数num3");

    }

    return num1 + num2;

  };

  console.log(add(1)); // 21

给默认参数设置了默认值之后,他其实不传也不会报错了,变为了一个可选参数一样

剩余参数

剩余参数时放在函数声明的时候所有参数的最后

搭配解构赋值使用

  const surplus = (first: string, second: string, ...args: string[]) => {
    console.log(first, second);  // 'a,'d'
    console.log(args); // ['c,'d,'e']
  };

  surplus("a", "b", "c", "d", "e");

函数重载

函数相同,函数的参数及个数不同

  // 重载处理

  function getRe(a: string, b: string): string;
  function getRe(a: number, b: number): number;

  function getRe(a: string | number, b: string | number) {
    if (typeof a === "string" && typeof b == "string") {
      return a + "" + b;
    } else if (typeof a === "number" && typeof b === "number") {
      return a + b;
    }
  }

  console.log(getRe(1, 2)); // 3
  console.log(getRe("hello", "world")); // hello world
  // 此时传入的不是我们想要的数据,ts并没有给我们提示或报错,控制台打印了undefined,这种情况下就用到函数重载了
  console.log(getRe(1, "world")); // undefined  重载处理后,就会报错
  console.log(getRe("hello", 2)); // undefied 重载处理后,就会报错

注意点;重载要写在函数定义前面

需要使用function关键字来定义函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值