第二章 TypeScript 函数详解

在 TypeScript 中,函数是实现特定功能的重要组成部分。

一、函数声明基础语法

使用 `function` 关键字声明函数,

例如:

复制代码
 function sum(a: number, b: number): number { return a + b; }

这里,`function` 是定义函数的关键字,`sum` 是函数名称,`a` 和 `b` 是参数,参数类型为 `number`,函数的返回值类型也为 `number`。

二、参数详解

1. 可选参数 通过在参数名后添加 `?` 来标识可选参数。

例如:

复制代码
function getPersonInfo(name: string, age: number, gender?: string): string { if (gender === undefined) { gender = '未知'; } return `name:${name},age:${age},gender:${gender}`; }

调用时可以不传递可选参数,此时该参数值为 `undefined`。

2. 默认参数 可以在参数列表中为参数指定默认值。

例如:

复制代码
 function fun1(name: string, age: number, gender: string = '未知'): string { return `name:${name},age:${age},gender:${gender}`; } 

三、特殊类型

1. 联合类型 当函数可能处理不同类型的值时,可以使用联合类型。

例如:

复制代码
function numOrString(message: number | string) { console.log(message); }
2. 任意类型 若函数需要处理任意类型的值,可使用 `any` 类型。

例如:

复制代码
 function funAny(message: any) { console.log(message); } 

四、返回值详解 如果函数没有返回值,使用 `void` 作为返回值类型。

例如:

复制代码
function demo(): void { console.log("aaaa"); }

五、函数声明特殊语法

1. 匿名函数 匿名函数适合简单且只使用一次的场景。

例如:

复制代码
 let numTest: number[] = [1, 2, 3]; 
numTest.forEach(function (number) { console.log(number); }); 

匿名函数能根据上下文推断参数类型,参数类型可省略。

2. 箭头函数 进一步简化匿名函数,只保留参数列表和函数体,用 `=>` 连接。

例如:

复制代码
 let num3: number[] = [1, 2, 3, 4, 5]; num3.forEach((num4) => { console.log(num4); }); 

总结

TypeScript 中的函数具有丰富的特性和灵活的用法。通过明确参数类型和返回值类型,可以提高代码的可读性和可维护性。可选参数和默认参数为函数的调用提供了更多的灵活性。联合类型和任意类型允许函数处理不同类型的值。而特殊语法如匿名函数和箭头函数则为开发者提供了简洁高效的编程方式。掌握 TypeScript 函数的这些特性,有助于开发出更加健壮、高效的应用程序。

相关推荐
于慨2 天前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
石小石Orz2 天前
油猴脚本实现生产环境加载本地qiankun子应用
前端·架构
从前慢丶2 天前
前端交互规范(Web 端)
前端
@yanyu6662 天前
07-引入element布局及spring boot完善后端
javascript·vue.js·spring boot
CHU7290352 天前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序
GISer_Jing2 天前
Page-agent MCP结构
前端·人工智能
王霸天2 天前
💥别再抄网上的Scale缩放代码了!50行源码教你写一个永不翻车的大屏适配
前端·vue.js·数据可视化
小领航2 天前
用 Three.js + Vue 3 打造炫酷的 3D 行政地图可视化组件
前端·github
@大迁世界2 天前
2026年React大洗牌:React Hooks 将迎来重大升级
前端·javascript·react.js·前端框架·ecmascript
PieroPc2 天前
一个功能强大的 Web 端标签设计和打印工具,支持服务器端直接打印到局域网打印机。Fastapi + html
前端·html·fastapi