TypeScript快速入门 - 函数的使用

1、有名函数和匿名函数

javascript 复制代码
// 有名函数,形参设置为number类型,返回值也为number类型
function add(x: number, y: number): number {
  return x + y;
}
console.log(add(1, 2)); // 3

//匿名函数,形参设置为number类型,返回值也为number类型
let myAdd = function (x: number, y: number): number {
  return x + y;
}
console.log(myAdd(2, 2)); // 4

2、函数的可选参数

参数名旁使用(?)实现可选参数功能,例如,函数中y参数可选。

javascript 复制代码
function add(x: number, y?: number): number {
  if (y) {
    return x + y;
  } else {
    return x;
  }
}

console.log(add(1)); // 1
console.log(add(1, 2)); // 3

3、函数的剩余参数

使用(...)定义, 剩余参数会被当作个数不限的可选参数。可以一个都没有,也可以有任意个。

javascript 复制代码
function add(x: number, ...y: number[]): number {
  if (y.length) {
    let sum = x;
    for (let i = 0; i < y.length; i++) {
      sum += y[i];

    }
    return sum;
  } else {
    return x;
  }
}

console.log(add(1)); // 1
console.log(add(1, 2, 3, 4, 5)); // 15

4、箭头函数

javascript 复制代码
const add = (x: number, ...y: number[]): number => {
  if (y.length) {
    let sum = x;
    for (let i = 0; i < y.length; i++) {
      sum += y[i];

    }
    return sum;
  } else {
    return x;
  }
}

console.log(add(1)); // 1
console.log(add(1, 2, 3, 4, 5)); // 15
相关推荐
M_emory_24 分钟前
解决 git clone 出现:Failed to connect to 127.0.0.1 port 1080: Connection refused 错误
前端·vue.js·git
Ciito27 分钟前
vue项目使用eslint+prettier管理项目格式化
前端·javascript·vue.js
成都被卷死的程序员1 小时前
响应式网页设计--html
前端·html
fighting ~1 小时前
react17安装html-react-parser运行报错记录
javascript·react.js·html
老码沉思录1 小时前
React Native 全栈开发实战班 - 列表与滚动视图
javascript·react native·react.js
abments1 小时前
JavaScript逆向爬虫教程-------基础篇之常用的编码与加密介绍(python和js实现)
javascript·爬虫·python
mon_star°1 小时前
将答题成绩排行榜数据通过前端生成excel的方式实现导出下载功能
前端·excel
Zrf21913184551 小时前
前端笔试中oj算法题的解法模版
前端·readline·oj算法
老码沉思录2 小时前
React Native 全栈开发实战班 - 状态管理入门(Context API)
javascript·react native·react.js
文军的烹饪实验室3 小时前
ValueError: Circular reference detected
开发语言·前端·javascript