我们在使用任何一门编程语言都是离不开数据类型的,typescript中也是如此,它几乎拥有JavaScript的所有类型,还包含了其他的一些类型。
定义从元数据,类型,其数据类型跟js中的数据类型基本上相同,同样具有数字,字符串,结构体,布尔值等,此外还提供了实用的枚举类型方便我们使用
typescript在定义变量的时候我们就可以在定义变量的位置上指定该变量是属于什么类型,以便后面我们使用。(这也是typescript的优势类型检查,若类型检查通不过便不能编译成js文件以至于不容易出错)
class type{
// 定义字符串
a:string='hello world';
b:number;
// boolean类型
c:boolean = true;
// 数组
d:string[]=null;
// 数组泛型
d1:Array
// 空(只能赋值为null或是undefined)
e:void = undefined;
// null
i:null = null;
f:undefined = undefined;
// 元组
g:[string,number] = ['jack',21];
// 对象
h:object = {age:3}
constructor(){
// 枚举
enum Color {Red,White,Black}
}
// 出现死循环返回never类型或是无法达到终点
infiniteLoop(): never {
while (true) {
}
}
}
基本上我们在使用typescript时会用到的一些数据类型便是这样定义的。其中
- 最基本的数据类型就是简单的true/false值,在JavaScript和TypeScript里叫做
boolean
(其它语言中也一样) - 数字number类型,其中还包括了浮点数据,字面量还支持的又十进制和十六进制以及ECMAScript 2015中引入的二进制和八进制字面量
- 字符串类型与js中的一致,通过双引号或是单引号包含的字符串,还可以是用es6中的``模板字符串来表达,并且以${ expr }这种形式嵌入表达式
- 元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同
enum
类型是对JavaScript标准数据类型的一个补充。 像C#等其它语言一样,使用枚举类型可以为一组数值赋予友好的名字- Any
有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型 - Void
void
类型像是与any
类型相反,它表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是void
- undefined 及null
undefined
和null
两者各自有自己的类型分别叫做undefined
和null
- never
never
类型表示的是那些永不存在的值的类型 - Object
object
表示非原始类型,也就是除number
,string
,boolean
,symbol
,null
或undefined
之外的类型
typescript 之二(类型):等您坐沙发呢!