尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
TypeScript总结:15、类型速查
TypeScript 类型速查本文用于快速查阅 TypeScript 常见类型和类型工具。遇到新的变量、参数或接口数据时可以先判断它属于哪一类再选择对应写法。一、类型声明和类型推断类型声明letname:string孙悟空;letage:number18;functionadd(a:number,b:number):number{returnab;}类型推断constmessagehello;// stringconstcount10;// numberconstenabledtrue;// boolean建议初始值明确、类型简单时可以使用类型推断。函数参数、公共函数返回值和业务边界建议显式声明。不要为了省代码把所有内容都写成any。二、基础类型速查类型示例适用场景number18普通数字bigint100n大整数stringhello文本booleantrue是或否any任意值临时兼容旧代码unknown任意值未知但需要安全检查的值void无返回值没有返回结果的函数never永不正常结束抛异常或无限循环object{}非原始对象但结构不明确nullnull明确表示空值undefinedundefined明确表示未定义三、any、unknown、void 和 neveranyletvalue:any10;valuehello;value.notExist();any会关闭大量类型检查只适合临时迁移或无法立即改造的旧代码。unknownfunctionprint(value:unknown):void{if(typeofvaluestring){console.log(value.toUpperCase());}}未知数据优先使用unknown使用前先做类型收窄。void 和 neverfunctionlog(message:string):void{console.log(message);}functionfail(message:string):never{thrownewError(message);}类型含义void函数正常执行结束但没有有意义的返回值never函数不会正常结束四、数组、元组和枚举数组constnumbers:number[][1,2,3];constnames:Arraystring[Tom,Jerry];元组constuser:[string,number][孙悟空,18];元组用于固定长度和固定顺序的数据。枚举enumStatus{Todotodo,Doingdoing,Donedone}conststatus:StatusStatus.Todo;需求类型多个同类型元素数组固定长度和顺序元组一组有名字的常量枚举五、字面量、联合类型和类型别名字面量类型letcolor:red|blue;colorred;联合类型letid:number|string;id1001;iduser-1001;类型别名typeOrderStatuspending|success|failed;typeIDnumber|string;使用类型别名可以复用复杂的联合类型和对象结构。六、类型断言和类型收窄类型断言constvalue:unknownhello;constlength(valueasstring).length;类型断言只告诉编译器如何理解值不会在运行时转换数据。类型收窄functionformat(value:unknown):string{if(typeofvaluestring){returnvalue.toUpperCase();}if(typeofvaluenumber){returnvalue.toFixed(2);}return;}来自用户输入、网络请求或文件的数据优先使用运行时判断而不是盲目断言。七、接口、类和泛型接口interfaceUser{id:number;name:string;}接口适合描述对象结构和类需要遵守的契约。类classPerson{constructor(publicname:string){}}类适合创建对象模型并封装数据和行为。泛型functionidentityT(value:T):T{returnvalue;}泛型适合在保持类型关系的同时复用函数、类和接口。八、类型选择决策表问题推荐选择这是数字、文本或布尔值吗number、string、boolean类型暂时未知但需要安全使用吗unknown函数没有返回结果吗void函数永远不会正常结束吗never需要限制为几个固定值吗字面量联合类型需要保存同类型列表吗数组需要固定长度和顺序吗元组需要描述对象结构吗接口或对象类型需要创建有属性和行为的对象吗类需要复用但类型不固定的逻辑吗泛型九、常用代码模板函数模板functionfn(parameter:Type):ReturnType{// ...}接口模板interfaceEntity{id:number;name:string;}泛型模板functionfnT(value:T):T{returnvalue;}十、本章小结先判断数据的实际含义再选择类型。不确定的数据优先使用unknown避免滥用any。对固定取值使用字面量联合类型。对象结构使用接口复用类型关系使用泛型。类型断言不是数据转换外部数据需要运行时校验。
RELATED

相关推荐

AI 自动化工具 OpenClaw 实操:从解压到正常使用完整记录(含安装包)

AI 自动化工具 OpenClaw 实操:从解压到正常使用完整记录(含安装包)

OpenClaw 双系统搭建实录|告别手动配置依赖,快速搭建本地 AI 自动化代理 适配系统:Windows10/11 64 位、MacOS Windows 当前版本:v2.9.3 MacOS 当前版本:v2.7.9 工具采用可视化图形界面操作,不需要手动配置…

📅 2026/9/16 19:59:42
基于Python与Playwright构建小红书自动化运营工作流实践

基于Python与Playwright构建小红书自动化运营工作流实践

1. 从“手动肝”到“自动赚”:为什么你需要一个OpenClaw做小红书运营的朋友,估计都经历过这个阶段:每天睁眼第一件事就是刷热点、找选题、写文案、P图、卡点发布、回复评论、分析数据……一套流程下来,几个小时就没了,…

📅 2026/10/3 17:52:50
安卓端YOLOv6高性能目标检测:纯Native实现与QNN/TFLite双后端部署

安卓端YOLOv6高性能目标检测:纯Native实现与QNN/TFLite双后端部署

这次我们来看一个在安卓端实现高性能目标检测的纯 Native 项目。它绕开了传统的深度学习框架,直接使用高通 QNN 和 Google TFLite 进行推理,号称是安卓端 YOLO 部署的一个“里程碑”。对于需要在移动设备上集成实时目标检测功能的开发者来说,…

📅 2026/10/6 6:07:42
MORE NEWS

更多资讯

📰

26年程序员转AI指南:收藏这份学习路线,轻松拥抱大模型时代!

文章分享了程序员如何成功转型AI领域的心得与经验。核心内容围绕五个学习阶段展开:先理解大模型调用本身,再学习AI应用开发所需能力,重点掌握RAG,随后学习Agent,最后通过项目实践积累经验。强调理解模型、业务和工程的…

📰

PHP登录安全实战:TOTP多因素认证、风控拦截与Redis会话一致性

前阵子接手一个老 PHP 电商项目,老板让我把登录安全做扎实。当时我对多因素认证、风控拦截、会话一致性这三块也只是有个大概认知,网上现成的库又不敢直接塞进生产环境,干脆从零开始写一套。正好手上有个 PHP 8.3 的空闲服务,配合…

📰

数组:算法竞赛的地基,从内存模型到高级数据结构的底层逻辑

很多同学刚接触算法竞赛时,第一反应是去啃各种“高大上”的算法——图论、动态规划、网络流、字符串匹配。但真正让我意识到“地基”重要性的,是一次比赛中因为数组开小导致半小时调不出错误、最后发现是边界问题的惨痛教训。数组,这个最基础…

📰

逆变器母线电容选型实战:耐压与纹波电流计算指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Zynq双千兆以太网硬件设计:RGMII时序收敛与PHY选型实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

ST语言BYTE数组解析:Modbus字节序问题的本质与UDT解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬