TypeScript 第七节:函数

TypeScript 是一种强类型的编程语言,与 JavaScript 相比,它具有一些额外的功能,特别是在函数方面。

一、TypeScript 函数的常见功能:

1、定义函数类型 可以使用类型注释来定义参数和返回值的类型。

例如:

TypeScript 复制代码
function add(x: number, y: number): number {
  return x + y;
}

其中,xy 的类型都是数字,返回值的类型也是数字。

2、可选参数和默认参数 在 TypeScript 中,可以使用问号 (?) 将参数标记为可选参数,也可以使用 = 指定默认参数。

例如:

TypeScript 复制代码
function greet(name?: string, msg: string = "Hello") {
  if (name) {
    console.log(`${msg}, ${name}!`);
  } else {
    console.log(`${msg}!`);
  }
}

这个函数接受两个参数:一个可选的名字,以及一个默认的消息。如果提供了名字,它将使用它来打招呼,否则它将只说默认的消息。

3、剩余参数 可以使用 ... 来指明剩余的参数。

例如:

TypeScript 复制代码
function sum(...numbers: number[]) {
  return numbers.reduce((acc, val) => acc + val, 0);
}

这个函数接受任意数量的数字参数,并返回它们的总和。

4、函数重载 TypeScript 支持函数重载,即在一个函数名称下定义多个函数签名。

例如:

TypeScript 复制代码
function concat(x: string, y: string): string;
function concat(x: number, y: number): number;
function concat(x: any, y: any): any {
  return x + y;
}

这个函数可以接受两个字符串或两个数字,并返回它们的组合。如果传递的参数不是字符串或数字,则返回的类型将是 any

相关推荐
自进化Agent智能体41 分钟前
Hermes GitHub PR 审查 —— 自动化代码评审
前端
涛涛ing2 小时前
OpenAI Astra 泄露:零样本生成 3D 网页,前端开发者慌了吗?
前端
ssshooter3 小时前
现在网页都能提供 MCP 了?!
前端·人工智能·程序员
杉氧3 小时前
状态管理变迁史:为什么我们放弃了 Redux 选择 Zustand?
android·前端·react native
cidy_983 小时前
OpenCode 手动配置火山方舟 Agent Plan 教程
前端
鹏多多3 小时前
PC 网站接入微信登录,这 10 个坑我替你踩完了!
前端·javascript·vue.js
律宏阔4 小时前
微信小程序使用 Orval + OpenAPI 自动生成接口:Axios 兼容踩坑记录
前端·微信小程序
律宏阔4 小时前
微信小程序集成 TDesign 完整记录:解决 NPM packages not found
前端·微信小程序
律宏阔4 小时前
微信小程序 ECharts 瘦身实战:分包异步化 + componentPlaceholder 避开主包 2MB 限制
前端·微信小程序
夏天要喝冰可乐4 小时前
从 Idea 到开源插件:我用 Vibe Coding 做了「文章摆渡」
前端·ai编程·vibecoding