TypeScript的基础类型

2023-11-03

1. boolean类型:

boolean表示布尔值类型,即true和false。例:

let isDone: boolean = false;

2. number类型:

number表示数字类型,包括整数和浮点数。例:

let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;

3. string类型:

string表示字符串类型。例:

let name: string = "TypeScript";

4. void类型:

void表示没有返回值的函数类型。例:

function warnUser(): void {
    console.log("This is a warning message.");
}

5. null和undefined类型:

null和undefined表示null和undefined值的类型。例:

let n: null = null;
let u: undefined = undefined;

默认情况下null和undefined是所有类型的子类型。 就是说你可以把 null和undefined赋值给number类型的变量。

6. any类型:

any表示任意类型,相当于在JavaScript中使用的类型。例:

let anyType: any = "This is a string.";
anyType = 42;

7. never类型:

never表示永远不会出现的值的类型。例:

function error(message: string): never {
    throw new Error(message);
}

8. Array数组

TypeScript像JavaScript一样可以操作数组元素。 有两种方式可以定义数组。 第一种,可以在元素类型后面接上 [],表示由此类型元素组成的一个数组:

let list: number[] = [1, 2, 3];

第二种方式是使用数组泛型,Array<元素类型>:

let list: Array<number> = [1, 2, 3];

9.元组 Tuple

元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 string和number类型的元组。

// Declare a tuple type
let x: [string, number];
// Initialize it
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error

当访问一个已知索引的元素,会得到正确的类型:

console.log(x[0].substr(1)); // OK
console.log(x[1].substr(1)); // Error, 'number' does not have 'substr'

10. 枚举

enum类型是对JavaScript标准数据类型的一个补充。 像C#等其它语言一样,使用枚举类型可以为一组数值赋予友好的名字。

enum Color {Red, Green, Blue}
let c: Color = Color.Green;

默认情况下,从0开始为元素编号。 你也可以手动的指定成员的数值。 例如,我们将上面的例子改成从 1开始编号:

enum Color {Red = 1, Green, Blue}
let c: Color = Color.Green;

或者,全部都采用手动赋值:

enum Color {Red = 1, Green = 2, Blue = 4}
let c: Color = Color.Green;

枚举类型提供的一个便利是你可以由枚举的值得到它的名字。 例如,我们知道数值为2,但是不确定它映射到Color里的哪个名字,我们可以查找相应的名字:

enum Color {Red = 1, Green, Blue}
let colorName: string = Color[2];

console.log(colorName);  // 显示'Green'因为上面代码里它的值是2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TypeScript的基础类型 的相关文章

随机推荐

  • C++多态

    文章目录 多态 重写 虚函数 C 11 override 和 final 重载 重写 重定义 抽象类 接口继承和实现继承 多态的原理 虚函数表 单继承和多继承的虚函数表 总结 多态 多态 可以理解为一种事务有多种形态 不同的对象可以通过多态
  • 牛客错题集(2)

    这里写目录标题 专业知识 计算机组成原理 数据结构 C C 操作系统 计算机网络 数据库 软件测试 软件工程 知识盲区 运维 JAVA 编程基础 Linux 网络基础 编译和体系结构 前端 专业知识 计算机组成原理 Q 由于CPU内部的操作
  • cout执行顺序从右到左!!!

    cout在执行的时候为从右向左先执行 输出时为按照原来的顺序在从左向右输出
  • Animate cc怎么导出HTML,使用 Animate CC 导出图形和视频

    导出应用程序首选参数 您可以在专家和初学者首选参数之间切换 您还可将自己的应用程序设置 包括工具栏设置 键盘快捷键和其他应用程序设置 导出为单个文件 只需进行简单的文件导出和导入操作 即可跨设备应用您的应用程序首选参数 导出首选参数 导出全
  • ipfs-hdfs分布式文件系统

    HDFS hadoop项目的核心子项目 基于流数据模式访问和处理超大文件的需求而开发的 数据的分布式存储和处理 namenode 和 datanode 的内置服务器可帮助用户轻松检查群集的状态 namenode 管理维护着文件系统树以及整个
  • webgl 第三人称相机

    发现自己越来越懒了 基础的我不写了 有很多博客都写了 连w3c都有 瞬间没有心思写下去了 并且也很忙 每天都在研究 别骂我 真心没心思 我会考虑写一些难度大点的 这样有动力点 代码如下 看下面需要注意的是向量的计算
  • 计算机桌面背景显示方式有几种,如何让计算机自动更改桌面背景

    您可能对以下主题感兴趣 如何使计算机自动更改桌面背景 核心提示 本教程将向您展示如何使计算机自动更改桌面背景 Windows 7支持多种桌面背景切换功能 以使我们的桌面更加美观 但对于喜欢按文件夹保存图片的用户 如果在设置桌面背景时指定了包
  • 测试开发必备技能与成长路径

    可以通过学习不断往上攻关 比如搭建测试平台 掌握代码分析能力 进行持续交付 代码质量监控等
  • Vue Router 的query和params的区别?

    区别一 1 query相当于get请求 页面跳转的时候可以在地址栏看到请求参数 2 params相当于post请求 参数不会在地址栏中显示 所以用params传值相对安全 简记 params参数在地址栏中不会显示 query会显示 区别二
  • Ubuntu18.04.2设置系统时间问题

    Ubuntu18 04 2设置系统时区问题 出现情况 系统时区设置正确 但是系统时间比实际快8小时 原因为系统硬件时间是UTC格式 需要将其改为CST格式 使用以下命令 timedatectl set local rtc adjust sy
  • 功耗测评

    STM32F103C8T6 MCU越来越广泛的应用在生产生活的各个领域 外接丰富的传感器 功能模块 通信模块 显示存储等可以形成各种可样的产品项目应用 对于功耗要求比较高的产品 一般会选择STM32L系列的MCU 但是从功耗的评测角度 逻辑
  • 内容产品项目作品

    一 项目背景介绍 如果让大家来做一个没接触过的产品 思路 先了解产品所在的行业 多看看第三方的行业研究的文章 了解产品的主要竞品 这样做产品设计的时候不会乱搞 常见的内容产品形态 图文 音视频 直播等 二 内容产品生态及产品架构 产品架构端
  • < ElementUi组件库: el-progress 进度条Bug及样式调整 >

    ElementUi组件库 el progress 进度条Bug及样式调整 前言 一 实现原理 gt 修改 el progress 进度条样式 及 渐变进度条样式 二 案例代码 前言效果图案例 gt HTML代码 gt CSS代码 三 效果演
  • Unity使用vscode无法跳转到引用等一些问题

    软件 unity2019 vscode 前提 一直在用visiostudio做Unity开发 但vscode确实有很多优点 今天在一个全新电脑下搭建环境 竟遇到了许多问题 vscode无法跳转到引用 F12不起作用 无法引用using Un
  • V字钩爪。

    题目链接 题解 分块 就是有一些点之间是永远没有交集的 因为每一个点只与前面第k个元素以及后面那k个元素有关 所以我们应该把那些出现矛盾的点放到一起 然后进行讨论 下面是AC代码 include
  • java包的介绍

    包 包就是文件夹 用来管理各种不同功能的 java 类 方便后续管理 包名的规则 公司域名反写 包的作用 需要全部英文小写 见名知意 导包的规则 使用同一个包中的类时 不需要导包 使用 java Lang 包中的类时 不需要导包 其他情况都
  • python中怎么样统计一张图像中白色和黑色像素点个数(二值图)

    前言 有时候需要计算一张图片里的里黑白像素的个数来计算某些指标 所以这里就教大家怎么计算 代码实现 import numpy as np import cv2 二值化图像直接 print len im im 255 print len im
  • centos6、centos7、ubntu去除ip link 中bond

    说明 在对服务器重新配置网络时候 往往需要提前清楚网络和网卡相关信息 这里坐下说明和记录 centos6去除网络配置 网络配置路径 etc sysconfig network scripts 去除网络配置前先做备份 mkdir opt ne
  • SpringMVC实现文件的上传和下载

    SpringMVC文件的上传和下载 一 SpringMVC文件上传 1 什么是文件上传 文件上传 指的就是将用户本地计算机中文件上传到服务器上的过程称之为文件上传 2 文件上传编程步骤 1 Client选择文件 上传页面 1 method
  • TypeScript的基础类型

    1 boolean类型 boolean表示布尔值类型 即true和false 例 let isDone boolean false 2 number类型 number表示数字类型 包括整数和浮点数 例 let decimal number