第二章 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 函数的这些特性,有助于开发出更加健壮、高效的应用程序。

相关推荐
阿泽·黑核3 分钟前
Easy Vibe Coding 学习心得(三):前端之美——从设计稿到精美界面
前端·vibe coding·easy vibe
无心水12 分钟前
【时间利器】4、JavaScript时间处理全解:Date/moment/dayjs/Temporal
开发语言·前端·javascript·状态模式·openclaw·date/moment·dayjs/temporal
踩着两条虫18 分钟前
AI 驱动的 Vue3 应用开发平台 深入探究(二十五):API与参考之Renderer API 参考
前端·vue.js·人工智能
踩着两条虫18 分钟前
AI 驱动的 Vue3 应用开发平台 深入探究(二十四):API与参考之Provider API 参考
前端·vue.js·ai编程
恋猫de小郭24 分钟前
Android Studio Panda 2 ,支持 AI 用 Vibe Coding 创建项目
android·前端·flutter
爱学习的程序媛26 分钟前
【Web前端】WebSocket 详解
前端·websocket·网络协议·web
BJ-Giser26 分钟前
Cesium夜晚月亮银河夜空效果
前端·可视化·cesium
happymaker062628 分钟前
web前端学习日记——DAY06(js基础语法与数据类型)
前端·javascript·学习
FlyWIHTSKY28 分钟前
父子组件参数传递
前端·javascript·vue.js
不会写DN29 分钟前
JS 最常用的性能优化 防抖和节流
开发语言·javascript·ecmascript