当前位置: 首页 > news >正文

【02】基础知识:typescript数据类型

1、布尔类型 boolean

let flag: boolean = false

2、数字类型 number

let num: number = 6 //十进制
let num2: number = 0xf00d //十六进制
let num3: number = 0b1010 //二进制
let num4: number = 0o744 //八进制

3、字符串类型 string

用双引号(“)或单引号(‘)来表示字符串类型。

模版字符串:可以定义多行文本和内嵌表达式,使用反引号(`)包围,并且以${ expr }这种形式嵌入表达式。

let name: string = 'Tom'
let years: number = 5
let str: string = `Hello, my name is ${name}, I'm ${years + 1} years old.`

4、数组类型 array

ts定义数组分为两种方式,一种是在元素类型后面接 [],表示由此类型元素组成的数组;

另一种是使用数组泛型,Array<元素类型>。

let arr: number[] = [1, 2, 3] // 在元素类型后面加上[]
let arr2: Array<string> = ['1', '2'] //使用数组泛型
let arr3: any[] = [1, "Tom"]

5、元组类型 tuple

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

let x: [string, number]
x = ['hello', 6] //运行正常
x = [6, 'hello'] //报错
console.log(x[0]) //输出hello

6、枚举类型 enum

枚举类型用于定义数值集合。(定义更多的其他非数值类型的数据)

定义:
enum 枚举名称 {
 标识符[=整型常数],
 …
}

enum Color { Red, Green, Blue }
let c: Color = Color.Red
console.log(c)  // 输出 0,如果枚举类型没有赋值,那么输出的就是下标enum Color { Red = 1, Green, Blue }
let colorName: string = Color[2] 
// 如果前一个赋值,后面没有赋值,那么后面会根据前面赋值,往后+1
console.log(colorName)  // 显示'Green'因为上面代码里它的值是2

7、任意类型 any

let num:any = 1
num = false // 修改值类型,不会报错let box = document.getElementById('box')  // 可以运行代码,但是会报错
let box: any = document.getElementById('box')  // 可以运行代码,也不会报错
box.style.color = 'red'

8、void 类型

void 类型表示没有任何类型。一般用户定义方法时方法没有返回值。

function run(): void {console.log('方法没有返回任何类型')
}function run(): number {return 1 // 方法返回类型为 number
}

9、null 和 undefined

null 和 undefined 两者各自有自己的类型分别叫做 null 和 undefined。

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

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

然而,当你指定了 --strictNullChecks 标记,null 和 undefined 只能赋值给 void 和它们各自。 这能避免很多常见的问题。 也许在某处你想传入一个 string 或 null 或 undefined,你可以使用联合类型 string | null | undefined。

let num: number // 输出 undefined,会报错
let num: undefined // 输出 undefined,不会报错// 一个变量可能是 number类型,可能是 undefined 类型
let num: number | undefined // 定义未赋值,输出 undefined,不会报错
num = 3 // 输出3,不会报错console.log(num) 

10、never类型

never 类型表示从不会出现的值, never 类型是任何类型的子类型。

声明为 never 的变量只能被 never 类型所赋值。

// 返回never的函数必须存在无法达到的终点
function error(message: string): never {throw new Error(message)
}// 返回never的函数必须存在无法达到的终点
function infiniteLoop(): never {while (true) {}
}
http://www.lryc.cn/news/119791.html

相关文章:

  • DIP: NAS(Neural Architecture Search)论文阅读与总结(双份快乐)
  • AI:02-基于深度学习的动物图像检索算法的研究
  • IDEA项目实践——Spring集成mybatis、spring当中的事务
  • 6-Ngnix配置反向代理
  • 构建 LVS-DR 群集、配置nginx负载均衡。
  • 【UE4的垃圾回收】
  • nginx负载均衡的几种配置方式介绍
  • uniapp发布插件显示components/xxx文件没找到,插件格式不正确
  • Kubernetes(K8s)入门
  • [前端系列第3弹]JS入门教程:从零开始学习JavaScript
  • html 计算器界面
  • 性能测试工具——LoadRunner(1)
  • 安科瑞物联网表在虚拟电厂的应用
  • XSS和CSRF
  • 2.物联网LWIP网络
  • tomcat多实例与动静分离
  • K8S下SpringCloud应用无损下线
  • CEC2013(MATLAB):遗传算法(Genetic Algorithm,GA)求解CEC2013的28个函数
  • Linux tar包安装 Prometheus 和 Grafana
  • 新一代分布式融合存储,数据场景All In One
  • CGroupAndroid实践篇】三、Android CGroup控制组初始化
  • lscpu的各个参数是什么意思?
  • Linux学习————redis服务
  • 【C++手撕系列】——设计日期类实现日期计算器
  • FFmpeg常见命令行(四):FFmpeg流媒体
  • ftp访问ubuntu文件系统
  • 网络防御(6)
  • 【Nginx15】Nginx学习:HTTP核心模块(十二)内嵌变量
  • 2023年中国HPV宫颈癌疫苗需求量、竞争格局、市场规模及行业细分产品规模分析[图]
  • 基于LMK2572的FPGA逻辑实现