Angular学习笔记55:TypeScript基础 -- 数据类型
Angular 是一个用 HTML 和 TypeScript 构建客户端应用的平台与框架并且 Angular 本身就是用 TypeScript 写成的。所以学习一些TypeScript相关的知识是非常重要的。先说说TypeScript的主要特征免费开源基于 ECMAScript 标准进行扩展新增了可选静态类型类模块经过编译以后成为可读的符合 ECMAScript 规范的JavaScript跨平台可以和 JavaScript 代码一起运行TypeScript的基本类型boolean(布尔)类型constisShow:booleanfalse;number(数字)类型consta:number1;constb:number1_000;// 1000string(字符串)类型在这里可以使用双引号()或者单引号(’)标示字符串leta:stringMr a.;letb:stringMr b.;还可以使用模版字符串可以定义多行文本和内嵌表达式是由反引号表示并使用$进行插值表达leta:stringMr a.;letb:stringMr b.;letmessage1:stringThis is${a}and${b};letmessage2:stringThis is a and b;注意上述代码中message1 和 message2 的值是一样的。null(一个表明是null值的特殊关键字)注意:大小写敏感不能写成NULL 或者 Null。undefined(变量未定义时的属性)symbol (ES6新添加的一种类型,类型的实例唯一且不可以改变)constsymbol1Symbol(Hello World);constsymbol2Symbol(Hello World);console.log(symbol1symbol2);// false因为 symbol 是唯一的所以symbol1symbol2无论如何都不会相等在项目开发中常量使用 symbol 值最大的好处是在其他的任何值都不可能有项目的值可以保证在特定的变量或者特定的switch 语句按照预想的方式工作。object(对象存放值的命名容器)Array(数组)定义数组的两种方式在元素类型后面跟上[]并且由此表示此类型的元素组成的数组letlist:number[][1,2,3];使用数组泛型Array元素类型letlist:Arraynumber[1,2,3];类型断言泛型在项目中大部分时候设计的某一个功能可能需要支持多种数据类型而不是局限于某一种类型泛型用于提高代码的重用性。泛型函数创建一个泛型函数sayHello 函数这是一个简单的函数直接将参数值作为返回值。当需要传入一个数字类型的时候函数为publicfunctionsayHello(arg:number):number{returnarg;}但是突然需求改成需要传入一个字符串就会变成publicfunctionsayHello(arg:string):string{returnarg;}也可以使用 any 类型来表示这种混乱publicfunctionsayHello(arg:any):any{returnarg;}但是any类型并不能准确的表达出函数的返回值与参数值相同、类型相同。此时就可以使用泛型变量 T, T 代表用户传入的类型类型既可以是number也可以是string也可以使用 T 作为函数的返回类型。这样就达到了返回值与参数值的类型相同的目的保持函数表达的准确性。publicfunctionsayHelloT(arg:T):T{returnarg;}使用泛型函数使用泛型函数有两种方式使用尖括号进行类型表达letworldsayHellostring(hello World);使用类型推断什么都不做TypeScript的编译器会根据传入的参数类型自动判断 T 的数据类型letworldsayHello(hello World);这个时候编译器会知道函数的参数类型就是 string 类型的同样返回的类型也就是string了。枚举类型在项目开发中有时候会和后端开发约定某个业务的状态值 代办状态是0申请开发状态是1 完成状态是2这样的纯数字会使代码缺乏可读性此时就可以使用枚举类型从而提高代码的可读性。TypeScript 支持基于数字枚举和字符串的枚举数字枚举enumtaskStatus{backLog,applyDev,done,}实际开发中就可以使用taskStatus.backLog 代表原来的数字 0 了。小技巧当在使用数字枚举时如果第一个枚举的变量没有赋值那么第一个变量的值就是0后面的变量依次递增。如果第一个枚举的变量的2或者其他数字其他的变量没有赋值那么第一个以后的变量就为第一个变量值依次递增。例如对backLog赋值为4那其他的值为56enumtaskStatus{backLog4,applyDev,// 5done,// 6}字符串枚举在一个字符串枚举中为了可读性所有成员必须是字符串字面量。enumtaskStatus{backLogbackLog,applyDevapplyDev,donedone,}反向映射反向映射仅限于 数字类型的枚举例如设定一个枚举exportenumTaskStatus{a,// 0b,// 1c,// 2}此时输出console.log(TaskStatus.a);// 0console.log(TaskStatus[0]);// a注意 字符串枚举没有反向映射在Angular中创建一个枚举类型的数据使用 cli 命令创建执行命令ng g enum taskStatus或者ng generate enum taskStatus结果wujiayudeMacBook-Pro:demo-test wjy$ ng generate enum taskStatus CREATE src/app/task-status.enum.ts(27 bytes)打开文件以后如下exportenumTaskStatus{}此时就可以在这个文件中添加成员变量了。

相关新闻

为什么92%的AI教育培训项目6个月内失效?一线技术总监拆解底层架构缺陷与重构方案

为什么92%的AI教育培训项目6个月内失效?一线技术总监拆解底层架构缺陷与重构方案

更多请点击: https://kaifayun.com 第一章:为什么92%的AI教育培训项目6个月内失效? 当企业投入数十万元采购AI课程、部署平台、组织内训后,不到180天,87%的学员停止使用学习系统,92%的团队无法复现培训中完…

2026/7/28 20:20:41阅读更多 →
UE5多人游戏开发:从菜单会话搜索到加入的C++实现与网络调试

UE5多人游戏开发:从菜单会话搜索到加入的C++实现与网络调试

1. 项目概述:为多人TPS游戏构建菜单会话加入功能在开发一个基于Unreal Engine 5的C多人第三人称射击游戏时,一个流畅、直观的菜单系统是连接玩家与游戏世界的桥梁。很多教程会花大量篇幅讲解核心的战斗逻辑和网络复制,但往往在“如何让玩家从…

2026/7/28 20:18:40阅读更多 →
2026年数字人推荐:108次豆包问答的选型结论

2026年数字人推荐:108次豆包问答的选型结论

2026年数字人推荐:108次豆包问答的选型结论 数字人平台越来越多,真正让人犯难的却不是“有没有工具”,而是同一个问题为什么每次会得到不同推荐。有人做短视频口播,有人需要直播互动,有人要经营老板IP,还有…

2026/7/28 20:18:40阅读更多 →
Selenium+Pytest自动化测试框架实战

Selenium+Pytest自动化测试框架实战

🔥 从零搭建 Selenium Pytest 自动化测试框架(PO 模式实战)作者:[你的名字] 发布日期:2026-07-28 关键词:Selenium、Pytest、Page Object、UI 自动化、驱动管理、日志配置&#x1f…

2026/7/28 21:36:59阅读更多 →
GEOS-5 FP-IT 同化与 OMI/Aura UV-2 1 轨道 L2 支持 Swath 13x24km V3 (OMUFPITMET)

GEOS-5 FP-IT 同化与 OMI/Aura UV-2 1 轨道 L2 支持 Swath 13x24km V3 (OMUFPITMET)

GEOS-5 FP-IT Assimilation Geo-colocated to OMI/Aura UV-2 1-Orbit L2 Support Swath 13x24km V3 (OMUFPITMET) 简介 与 OMI/Aura UV-2 1 轨道 L2 支持条带 13x24km 同化的 GEOS-5 FP-IT 同化地理共定位 (OMUFPITMET) 提供来自 GEOS-5 仪器团队前向处理 (FP-IT) 同化产品的…

2026/7/28 21:36:59阅读更多 →
TPIC7710EVM评估板实战指南:从硬件连接到GUI软件调试

TPIC7710EVM评估板实战指南:从硬件连接到GUI软件调试

1. 评估板的核心价值与TPIC7710EVM概述在嵌入式硬件开发,尤其是涉及电机驱动、电源管理这类对实时性和可靠性要求极高的领域,直接上手一颗全新的芯片进行系统设计,无异于“盲人摸象”。数据手册上的参数是静态的,而实际应用中的动…

2026/7/28 21:36:59阅读更多 →
Linux桌面生态构建指南:从工具链思维到生产力环境搭建

Linux桌面生态构建指南:从工具链思维到生产力环境搭建

很多人对 Linux 的认知,还停留在“命令行黑屏”、“开发专用”、“软件难找”的阶段。几年前,当我第一次尝试将主力工作环境切换到 Linux 时,也经历过类似的困惑:写文档用什么?处理图片用什么?日常沟通又用…

2026/7/28 21:36:59阅读更多 →
CKEDITOR处理Word图文混排的挑战与解决方案

CKEDITOR处理Word图文混排的挑战与解决方案

1. 互联网平台中CKEDITOR处理Word图文混排的核心挑战在内容管理系统和在线文档编辑场景中,CKEDITOR作为老牌富文本编辑器,处理Word文档导入时总会遇到"水土不服"的情况。最近在开发教育行业的在线题库系统时,我们需要处理大量包含公…

2026/7/28 21:36:59阅读更多 →
暑假少儿才艺大赛视频投票哪个小程序好用

暑假少儿才艺大赛视频投票哪个小程序好用

暑假到了,各类少儿才艺大赛、兴趣班成果展示、社区文艺评比扎堆来袭。办一场线上视频投票活动,选对工具至关重要——既要能清晰展示孩子的才艺视频,又要保证公平公正、操作简单。市面上号称“免费”的投票工具不少,但真正好用、无…

2026/7/28 21:34:58阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →