TS学习01-基本数据类型

news/2024/12/23 7:18:09/

基础类型

数组

  • 第一种: 元素类型[]
let arr: number[] = [1,2,3]
  • 第二种: 数组泛型-Array<元素类型>
let arr: Array<number> = [1,2,3]

元组 Tuple

表示一个已知元素数量和类型的数组·

let arr: [string, number]
a = ['RenNing', 18]

当访问越界元素,会使用联合类型代替

arr[1] //18
arr[3] = 'world' // (string | number) 类型

枚举 enum

JavaScript标准数据类型的一个补充。

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

默认从 0开始为元素编号;可以手动指定成员值

enum Color{Red = 3, Green, Blue = 8}
let c: Color = Color.Green //4

通过枚举的值渠道他的名字

let colorName: string = Color[3] //red

Any

Void

void类型像是与any类型相反,它表示没有任何类型。

当一个函数没有返回值时,你通常会见到其返回值类型是 void

声明一个void类型的变量没有什么大用,因为你只能为它赋予undefinednull

Null 和 Undefined

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

默认情况下nullundefined是所有类型的子类型。

可以把 nullundefined赋值给number类型的变量。

let a:number = null

当你指定了--strictNullChecks标记,nullundefined只能赋值给void和它们各自

在某处你想传入一个 stringnullundefined,你可以使用联合类型string | null | undefined

Never类型

标识永不存在的值的类型

例如, never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型;

never类型是任何类型的子类型,也可以赋值给任何类型;然而,没有类型是never的子类型或可以赋值给never类型

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

类型断言

形式一: “尖括号”语法

let someValue: any = 'this.is a string'
let strLength: number = (<string>someValue).length

形式二: as语法

let strLength: number = (someValue as string).length;


http://www.ppmy.cn/news/1015552.html

相关文章

mousedown拖拽功能(vue3+ts)

因为项目有rem适配&#xff0c;使用第三方插件无法处理适配问题&#xff0c;所有只能自己写拖拽功能了 拖拽一般都会想到按下&#xff0c;移动&#xff0c;放开&#xff0c;但是本人亲测&#xff0c;就在div绑定一个按下事件就行了&#xff08;在事件里面写另外两个事件&#x…

rv1126移植并部署自写手写数字识别模型

首先搭建好rknntoolkit以及rknpu环境 --> MNIST->https://github.com/warren-wzw/MNIST-pytorch.git 大致流程 生成rknn文件----------------------------------------------------------------------------------------- 1&#xff1a;进入docker docker run -t -i…

企业进销存管理流程有哪些? 附进销存管理系统

阅读本文&#xff0c;您可以了解&#xff1a;1、进销存的定义&#xff1b;2、进销存的流程 首先&#xff0c;在了解进销存流程之前&#xff0c;我们必须厘清一个问题&#xff1f; 什么是进销存&#xff1f; 进销存是一个企业管理中常用的术语&#xff0c;是指企业在经营过程中…

VMnet0 桥接设置

VMnet0 一定要设置为你的硬件物理网卡&#xff0c;不能设置自动&#xff0c;不然后&#xff0c;网线一断&#xff0c;就再也连不上了。必须重启电脑才能连上&#xff0c;这个问题找了很久才找到。 下面有个hyper-V虚拟网卡&#xff0c;如果选自动的话&#xff0c;物理网卡一掉…

Java实现电影信息查询系统

Java实现电影信息查询系统 需求分析代码实现小结Time 需求分析 首先每一部电影&#xff0c;都包含这部电影的相关信息&#xff0c;比如&#xff1a;电影的编号&#xff08;id&#xff09;、电影的名称&#xff08;name&#xff09;、电影的价格&#xff08;price&#xff09;、…

主成分分析学习笔记

概述 主成分分析&#xff08;Principal Component Analysis&#xff09;是一种常见的数据分析方式&#xff0c;常用于高维数据的降维&#xff0c;提取数据的主要特征分量&#xff0c;其数学推导可以从最大可分性和最近重构性两个角度着手&#xff0c;前者的优化条件为划分后方…

.Net C# 免费PDF合成软件

最近用到pdf合成&#xff0c;发现各种软件均收费啊&#xff0c;这个技术非常简单&#xff0c;别人写好的库一大把&#xff0c;这里用到了PDFsharp&#xff0c;项目地址Home of PDFsharp and MigraDoc Foundation 软件下载地址 https://download.csdn.net/download/g313105910…

JavaSE_2.1——数组【概念、创建、内存分配】

今天是练习数组的第一天&#xff0c;后续继续 1、数组的定义以及声明 1.数组的定义&#xff1a;一组能够存储相同数据类型值的变量的集合 2.数组的赋值方式&#xff1a; New关键字:表示创建一个数组&#xff1b; &#xff08;1&#xff09;使用默认的初始值来初始化数组中…