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
相关推荐
明月_清风1 分钟前
🚀 OpenAI 数据代理架构全解析:从 600 PB 到自然语言的六层上下文工程
前端·后端·架构
明月_清风2 分钟前
🚀 从 Foundry 到 AIP:Palantir 发生了什么变化?一篇文章全搞懂
前端·后端
西门啐血7 分钟前
Vue 缓存之坑,变量赋值方式和响应式数据
前端·vue.js·缓存
涛涛ing27 分钟前
2026 上半年,前端圈已经炸了五次
前端
hunterandroid32 分钟前
Android 后台任务可靠性排查:从 WorkManager 观测到失败重试闭环
android·前端
skiyee32 分钟前
🔥 oiyo & unibest = 又新又好的 uniapp 模板
前端·uni-app
xingren36 分钟前
「眨眼」UI 特效 - 在 Winform/WPF/WinUI3/Avalonia/Web 的实现
前端
颜进强41 分钟前
前端看后端 13:什么是 Cookie 和 Session?
前端·后端
月月大王的3D日记43 分钟前
Three.js 入门系列(7):让甜甜圈围着我转 —— 3D文字生成
前端·javascript
gitboyzcf44 分钟前
mpegts.js解决Chrome无法播放7568×142分辨率报错 DOMException问题
前端·后端