TypeScript 笔记:基础类型

news2024/12/23 10:08:59

1 any类型(任意值类型)

声明为 any 的变量可以赋予任意类型的值。

  • any类型是Typescript 针对编程时类型不明确的变量使用的一种数据类型,常用于:

变量的值会动态改变

——>任意值类型可以让这些变量跳过编译阶段的类型检查'

let x: any = 1;    // 数字类型
x = 'hello';    // 字符串类型
x = false;    // 布尔类型

定义存储各种类型数据的数组

let arrayList: any[] = [1, false, 'fine'];
arrayList[1] = 100;

2 数字类型

2.1不同进制

let binaryLiteral: number = 0b1010; // 二进制
let octalLiteral: number = 0o744;    // 八进制
let decLiteral: number = 6;    // 十进制
let hexLiteral: number = 0xf00d;    // 十六进制

3 字符串类型

  • 一个字符系列,使用单引号(')或双引号(")来表示字符串类型。反引号(`)来定义多行文本和内嵌表达式。【和JavaScript类似】
let club: string = "Wen River High Tech";
let years: number = 5;
let words: string = `这是 ${club} 足球队的 第 ${years}个冠军。`;

4 布尔类型

表示逻辑值:true 和 false

表示逻辑值:true 和 false

5 数组类型

声明变量为数组

// 在元素类型后面加上[]
let arr: number[] = [1, 2];

// 或者使用数组泛型
let arr: Array<number> = [1, 2];

6 元组类型

元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。

let x: [string, number]; //这个元组的第一个元素必须是string类型,第二个元素必须是number类型
x = ['WHT', 5];    // 运行正常
x = [5, 'WHT'];    // 报错
console.log(x[0]);    // 输出 WHT

7 枚举类型

枚举类型是对JavaScript标准数据类型的一个补充,用于定义数值集合

enum Color {Red, Green, Blue}
//默认情况下,从0开始为元素编号。 

let c: Color = Color.Green;
//此时c的值是1



//也可以手动的指定成员的数值。 
//例如,我们将上面的例子改成从 1开始编号:
enum Color {Red = 1, Green, Blue}
let c: Color = Color.Green;
//此时c的值是2



//或者,全部都采用手动赋值:
enum Color {Red = 1, Green = 2, Blue = 4}
let c: Color = Color.Green;
//此时c的值是2
//枚举类型提供的一个便利是你可以由枚举的值得到它的名字。 
//例如,我们知道数值为2,但是不确定它映射到Color里的哪个名字,我们可以查找相应的名字:
enum Color {Red = 1, Green, Blue}
let colorName: string = Color[2];

console.log(colorName);  
// 显示'Green'因为上面代码里它的值是2

8 void类型

用于标识方法返回值的类型,表示该方法没有返回值。

function hello(): void {
    alert("Hello");
}

9 null类型

  • 表示对象值缺失
  • null是一个只有一个值的特殊类型。表示一个空对象引用。
  • 用 typeof 检测 null 返回是 object

10 undefined类型

  • 用于初始化变量为一个未定义的值
  • typeof 一个没有值的变量会返回 undefined。

参考内容:TypeScript 基础类型 | 菜鸟教程 (runoob.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1072595.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

顺序栈与链式栈

目录 栈的定义与结构 栈的实现 顺序栈的实现 初始化空栈 销毁栈 压栈 获取栈顶元素 出栈 判断栈是否为空 获取栈中有效数据的个数 链式栈的实现 初始化空栈 销毁栈 压栈 获取栈顶元素 出栈 判断栈是否为空 获取栈中有效数据的个数 顺序栈与链栈的对比 栈的定义…

32个uniapp项目源码 涵盖商城团购等

IT之家小程序版客户端(使用 Mpvue 开发&#xff0c;兼容 Web)ithome-lite-master.zip mpvue 仿网易严选mpvue-shop-master.zip mpvue-音乐播放器mpvue-music-master.zip mpvue性能测试与体验miniweibo-master.zip mpvue改造的日历.zip mpvue框架仿滴滴出行didi-master.zip mpVu…

华为云云耀云服务器L实例评测使用 | 云耀云服务器L实例Docker可视化Portainer容器管理

一、使用背景 之前一直在用阿里云或者腾讯云的服务器&#xff0c;现在接触了一下华为云的服务器实例&#xff0c;点开产品列表发现有弹性云服务器ECS、云耀云服务器HECS等&#xff0c;本文主要使用云耀云服务器&#xff0c;看到官方简介&#xff1a; 华为云耀云服务器&#x…

TensorFlow入门(十三、动态图Eager)

一个图(Graph)代表一个计算任务,且在模型运行时,需要把图放入会话(session)里被启动。一旦模型开始运行,图就无法修改了。TensorFlow把这种图一般称为静态图。 动态图是指在Python中代码被调用后,其操作立即被执行的计算。 它与静态图最大的区别是不需要使用session来建立会话…

从创作到表演的全方位改变,数字时代中的和声之音

随着ChatGPT的现象级走红&#xff0c;AIGC在全球范围内掀起热潮。 所谓AIGC&#xff08;Al-Generated Content&#xff09;&#xff0c;是指利用人工智能来根据用户需求&#xff0c;借助已有的材料库生成对应的内容。事实上&#xff0c;除了强大的文本能力之外&#xff0c;图像…

【Linux】工具:Bundle 库的安装和简单使用

文章目录 1. 下载 buddle 库2. 从 Win 传输文件到 Linux3. 解压缩 Bundle 库压缩解压缩 1. 下载 buddle 库 要求联网&#xff0c;笔者使用云服务器&#xff0c;在 Xshell 7 上完成的虚拟机操作。 安装 git 工具&#xff0c;通过代码 clone &#xff08;大概率连接不上&#x…

CVE-2021-4034 polkit提权漏洞复现

CVE-2021-4034 polkit提权漏洞复现 1.前期准备2.复现 1.前期准备 Github地址&#xff1a; https://github.com/berdav/CVE-2021-4034polkit是一个授权管理器&#xff0c;其系统架构由授权和身份验证代理组成&#xff0c;pkexec是其中polkit的其中一个工具&#xff0c;他的作用…

UML简介

UML&#xff0c;全称为Unified Modeling Language&#xff08;统一建模语言&#xff09;&#xff0c;是一种用于软件工程和系统设计的标准化建模语言。它提供了一套图形化的符号和标记&#xff0c;用于描述和表示软件系统、系统架构、流程、数据结构、行为和交互。UML的设计旨在…

docker安装wiki

1.docker pull mediawiki 2.docker run -d --name mywiki -p 8666:80 mediawiki 访问ip:8666,就可以看到配置页面了 3.docker pull mysql docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD123456 -p 3307:3306 mysql 4.在配置页面链接ip:3307,连接数据库&#xff0c;接下…

Excel 快速填充

文章目录 利用快速填充进行提取数据利用快速填充进行拆分重组 2013 及以上版本才有的功能. 利用快速填充进行提取数据 有一列的数据已有, 需要提取部分数据到另一列, 只需要输入部分内容, 后面内容可以自动显示, 按下回车即可快速填充. 只要前面手动输入的内容没有错得太离谱…

迅为龙芯开发板开发板系统烧写-启动系统

上面所有的步骤我们都做完以后&#xff0c;输入命令 sync 确保我们之前的步骤都可以保存到 ssd&#xff0c;接着拔下 U盘&#xff0c;最后输入命令 reboot 重启开发板&#xff0c;如下图所示&#xff1a; 如果启动成功&#xff0c;我们会看到 pmon 从硬盘加载 linux 内核和文件…

视频怎么压缩?这样做视频变小还清晰

在我们的日常生活和工作中&#xff0c;视频已经成为了不可或缺的一部分。然而&#xff0c;随着视频文件的增大&#xff0c;如何有效地压缩视频以方便存储和传输成了一个重要的问题&#xff0c;如果你还不知道怎么压缩视频大小&#xff0c;不妨试试下面的方法吧~ 方法一&#xf…

1.3 Linux目录操作

文章目录 零、学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;常用权限操作1、常用权限操作&#xff08;1&#xff09;chgrp命令&#xff08;2&#xff09;chown命令&#xff08;3&#xff09;chmod命令 2、权限操作实战任务1、创建文件&#xff0c;设置其用户组任…

【C++设计模式之亨元模式:结构型】分析及示例

简介 享元模式&#xff08;Flyweight Pattern&#xff09;是一种结构型设计模式&#xff0c;旨在通过共享对象&#xff0c;有效地支持大量细粒度的对象&#xff0c;从而减少内存和性能消耗。它通过将对象分为可共享的内部状态和不可共享的外部状态&#xff0c;从而实现对象共享…

AMEYA360分析:纳芯微推出超低功耗TMR开关/锁存器 NSM105x系列

纳芯微推出基于隧道磁阻 (TMR) 的超低功耗磁开关/锁存器NSM105x系列&#xff0c;为数字位置检测提供高精度的解决方案&#xff0c;可被广泛应用于工业与消费领域的位置检测。 NSM105x产品系列包含了3个产品型号&#xff0c;即NSM1051(单极开关)、NSM1052(全极开关)、NSM1053(锁…

四种常见软件架构简介

文章目录 一、单体架构二、分布式应用三、微服务架构四、Serverless架构五、总结 如果一个软件开发人员&#xff0c;不了解软件架构的演进&#xff0c;会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点&#xff0c;希望能够帮…

uniapp 显示icon异常

按照文档创建的uni-ui项目&#xff0c;仿照示例程序写的代码中icon显示异常 &#xe470; 异常情况&#xff1a; 正常情况&#xff1a; 通过比对代码发现&#xff0c;示例程序的App.vue中 有一个引用是问题的关键 正是因为多了这一个引用文件&#xff0c;图表的显示才能正常 …

在Linux怎么用vim实现把一个文件里面的文本复制到另一个文件里面

2023年10月9日&#xff0c;周一下午 我昨天遇到了这个问题&#xff0c;但在网上没找到图文并茂的博客&#xff0c;于是我自己摸索出解决办法后&#xff0c;决定写一篇图文并茂的博客。 情景 假设现在我要用vim把file_transfer.cpp的内容复制到file_transfer.hpp里面 第一步 …

网络安全(黑客)小白学习笔记

前言 一、什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防…

linux centos出现No space left on device解决方案

问题是因为系统磁盘空间不足 解决方法: 找到那个磁盘不足问题 df -lh 发现/dev/mapper/cl-root磁盘已用50G,有如下 解决方案&#xff1a; 1、如果是虚拟机可以通过分配空间使其空间增加 2、将其他不常用磁盘空间分配给cl-root如&#xff08; /dev/mapper/cl-home &#…