我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。
一、TypeScript 包含哪些数据类型?
Number:用于表示数值,包括整数和浮点数。
String:用于表示文本或字符序列。
Boolean:表示逻辑值,可以是 true 或 false。
Array:表示有序的元素集合。在 TypeScript 中,你可以指定数组中元素的类型。
Tuple:元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。
Enum:枚举类型是一组命名的数值常量。
Any:表示可以是任意 JavaScript 值的类型。当你不知道一个值的类型,或者不想为某个变量指定类型时,可以使用 any 类型。
Void:表示没有值(或者说 undefined)的类型。通常用于表示没有返回值的函数。
Null 和 Undefined:这两种类型在 TypeScript 中有它们自己的类型。null 表示一个空值或“无”的值,而 undefined 表示一个变量被声明了,但没有赋值。
Never:表示的是那些永不存在的值的类型。例如,函数抛出一个异常或根本不会有返回值时,其返回值的类型就是 never。
Object:用于非原始值(即不是 number、string、boolean、symbol、null 或 undefined 的值)。
Symbol:表示唯一的、不可变的原始值,通常用作对象的属性键。
类型别名:类型别名是给类型起一个新名字。类型别名有时和接口很相似,但是可以给原始类型起别名,也可以联合多个类型。
交叉类型:是将多个类型合并为一个类型。这让我们可以把现有的多种类型叠加到一起成为一种类型,这种类型同时具有了这多种类型的特性。
联合类型:表示一个值可以是几种类型之一。我们用竖线(|)分隔每个类型,所以 number | string | boolean 表示一个值可以是 number、string 或 boolean。
二、数据类型转换?
1.什么是数据类型转换?
不同数据有不同数据的保存类型。数据间的处理就需要不同的数据类型。数据类型的转换是在所赋值的数值类型和被变量接收的数据类型不一致时发生的,它需要从一种数据类型转换成另一种数据类型。
2.TypeScript怎么进行数据类型的转换?
1.任意类型转字符串
• String(x)
• x.toString() (数字转字符串,用这个)
• x + ''
2.任意类型转布尔
• Boolean(x)
• !!x
3.任意类型转数字
• Number(x)
• parseInt(x, 10)
• parseFloat(x)
• x - 0
• +x (取正)