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
相关推荐
小磊哥er9 分钟前
深入解构Claude Code - 第 8 篇 · 数据放哪、钱怎么算
javascript·ai编程
kyriewen2 小时前
我装了30多个Skill,给AI安排了8个岗位
前端·javascript·ai编程
风骏时光牛马2 小时前
大模型落地实践中的技术选型思路与方案对比
前端
IT_陈寒2 小时前
Vite打包时的静态资源坑,我帮你踩过了
前端·人工智能·后端
默_笙4 小时前
🔥 让 AI 帮我写完整个 Next.js 博客:框架就是 AI 的"上下文 buff"
前端·javascript
牧艺4 小时前
登录页还在用渐变?我一口气做了 5 个能摸的背景动效:吹蒲公英、滴墨染水、点熔岩闷裂
前端·canvas·交互设计
陆枫Larry4 小时前
状态机简介
前端
陆枫Larry5 小时前
一次登录问题排查:接口没错,错的是旧业务逻辑
前端
小小小小宇5 小时前
大模型打分与采样原理,以及 Pi Agent 核心原理
前端
一位正在转型AI全栈的前端工程师5 小时前
AI 全栈学习之旅 -Week 5:RAG 知识库问答系统:从零到生产级部署的全栈实践总结
前端·python