门户网站建设创新网页设计首页子页

张小明 2026/3/2 20:00:31
门户网站建设创新,网页设计首页子页,网站logo设计创意,统一门户网站TypeScript 函数详解 TypeScript 的函数语法与 JavaScript 基本一致#xff0c;但增加了强大的类型支持#xff0c;包括参数类型、返回值类型、可选参数、默认参数、剩余参数、重载等。这些特性让函数更安全、更易维护。 1. 基本函数声明与表达式 // 函数声明#xff08;…TypeScript 函数详解TypeScript 的函数语法与 JavaScript 基本一致但增加了强大的类型支持包括参数类型、返回值类型、可选参数、默认参数、剩余参数、重载等。这些特性让函数更安全、更易维护。1. 基本函数声明与表达式// 函数声明Function Declarationfunctionadd(a:number,b:number):number{returnab;}// 函数表达式Function Expressionconstsubtract:(x:number,y:number)number(x,y)x-y;// 箭头函数Arrow Function——推荐用于简短函数constmultiply(a:number,b:number):numbera*b;TS 优势参数和返回值必须指定类型或通过推断。编译时检查类型匹配避免运行时错误。add(10,20);// 编译错误参数类型不匹配2. 可选参数与默认参数// 可选参数用 ? 表示必须放在必选参数后面functiongreet(name:string,greeting?:string):string{return${greeting??Hi}${name};}greet(Alice);// Hi Alicegreet(Bob,Hello);// Hello Bob// 默认参数ES6 支持functionlog(message:stringInfo):void{console.log(message);}log();// Infolog(Error);// Error3. 剩余参数Rest Parametersfunctionsum(...numbers:number[]):number{returnnumbers.reduce((total,n)totaln,0);}sum(1,2,3,4);// 10sum();// 0剩余参数类型必须是数组类型。4. 函数重载Function OverloadingTypeScript 支持函数重载同一个函数名根据不同参数类型/数量提供不同实现。functionformat(value:string):string;functionformat(value:number,digits:number):string;functionformat(value:any,digits?:any):string{if(typeofvaluestring){returnvalue.toUpperCase();}if(typeofvaluenumber){returnvalue.toFixed(digits??2);}returnString(value);}format(hello);// HELLOformat(3.14159,2);// 3.14规则先写多个重载签名只有类型没有实现。最后写实际实现函数兼容所有重载。5. this 类型处理箭头函数会捕获外部this普通函数在 TS 中可显式声明this参数。interfaceUser{name:string;}functionshowName(this:User){console.log(this.name);}constuser:User{name:Alice};showName.call(user);// Alice6. void、never 与函数返回值// void函数无返回值返回 undefined 也算 voidfunctionwarn():void{console.log(Warning!);}// never函数永远不会正常返回抛错或无限循环functionerror(msg:string):never{thrownewError(msg);}functioninfiniteLoop():never{while(true){}}7. 函数类型定义可以单独定义函数类型然后赋值。// 类型别名typeBinaryOperation(a:number,b:number)number;constadd:BinaryOperation(x,y)xy;constdivide:BinaryOperation(x,y){if(y0)thrownewError(除零);returnx/y;};8. 异步函数async/awaitasyncfunctionfetchData(url:string):Promisestring{constresponseawaitfetch(url);if(!response.ok)thrownewError(网络错误);returnawaitresponse.text();}// 使用fetchData(https://api.example.com).then(dataconsole.log(data)).catch(errconsole.error(err));返回类型通常为PromiseT。9. 最佳实践建议建议示例说明始终标注返回值类型: string而非省略提升可读性参数尽量避免any用具体类型或泛型替代使用箭头函数作为回调避免 this 指向问题复杂函数优先使用重载提供更好的类型提示开启noImplicitAny强制显式类型避免隐式 any短函数用箭头长函数用声明可读性更好小结函数声明速查表类型语法示例适用场景普通函数声明function fn(a: number): string {}复杂逻辑箭头函数const fn (a: number) string简短、回调可选/默认参数function fn(name: string, age?: number 18)灵活调用剩余参数function fn(...args: string[])不定参数函数重载多签名 一个实现多态行为async 函数async function fn(): PromiseT异步操作如果您想深入某个部分如泛型函数、函数装饰器、高阶函数、或 React 中的函数组件或者需要完整示例代码请告诉我
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站后台如何更改产品推销文案

2个实测免费的降AIGC率工具,顺利通过ai率查重! AI 检测本身就没有公开算法,降 AI 工具更像黑箱。如果降AI率连一次免费试用都不给,那风险太大了。万一AI率没有降下来,又不能退,少则几元多则几十。 对于学…

张小明 2025/12/31 3:54:41 网站建设

电子商务网站建设实例百度竞价网站源码

uni-app插件市场完整教程:跨端开发组件生态深度解析 【免费下载链接】uni-app A cross-platform framework using Vue.js 项目地址: https://gitcode.com/dcloud/uni-app uni-app插件市场作为国内最大的跨端开发组件生态系统,为开发者提供了数千款…

张小明 2025/12/31 3:54:42 网站建设

网站开发设计流程时间表贵州建设职业技术学院官方网站

网站源码,本质是程序员用特定编程语言构建的“数字指令集”,它不仅定义了网站的视觉呈现,更承载着业务逻辑的运转规则 ,就像建筑图纸既要标注墙体位置,也要明确承重结构,源码既包含用户可见的界面元素,也暗…

张小明 2025/12/31 3:54:44 网站建设

青岛做视频的网站做360手机网站快速排名软件

1、设备身份:快速识别基本信息 1.1.可以直接输出所有指令 #使用getprop查看所有属性 adb shell getprop1.2.可以直接查找想要的属性 #设备型号 adb shell getprop ro.product.model#Android版本 adb shell getprop ro.build.version.release#设备品牌 adb shell get…

张小明 2026/1/24 5:06:40 网站建设

微企免费网站建设crm登录系统

Qwen-Image-Edit-2509重塑多模态图像编辑 在电商运营的深夜,一位视觉设计师正为即将到来的大促紧急修改上千张商品图:更换标语、替换背景、调整配色……重复操作让人筋疲力尽。而就在几个月前,这样的工作量还需要整个团队通宵达旦才能完成。…

张小明 2025/12/31 3:54:43 网站建设

宠物网站建设策划方案黄石网站建设维护

导语 【免费下载链接】Qwen3-Next-80B-A3B-Instruct 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-Next-80B-A3B-Instruct 阿里达摩院最新发布的Qwen3-Next-80B-A3B-Instruct大模型,通过混合注意力机制与稀疏专家架构,在保持800亿…

张小明 2026/1/3 1:02:51 网站建设