TypeSript基本类型

  1. 布尔类型(boolean)
  2. 数字类型(number)
  3. 字符串类型(string)
  4. 数组类型(array)
  5. 元组类型(tuple)
  6. 枚举类型(enum)
  7. 任意值类型(any)
  8. null和undefined
  9. void类型
  10. never类型

布尔类型

let flag:boolean = true;  
flag = 1//报错  

数字类型

在TypeScript中数字都是浮点型。TypeScript同时支持二进制,八进制,十进制和十六进制字面量

let binaryLiteral: number = 0b1010;  
let octalLiteral: number = 0o744;  
let decLiteral: number = 6;  
let hexLiteral: number = 0xf00d;  

字符串类型

TypeScript支持使用单引号或双引号。还支持字符串反引号来定义多行文本和内嵌表达式

let name: string = "Angular";  
let years: number = 5;  
let words: string = `${name},${years+1}`  

数组类型

TypeScript建议开发者最好只为数组元素赋一种类型的值

let arr: number[] = [1,2];  
let arr: Array<number> = [1,2];//数组泛型  

元组类型

用来表示已知元素数量和类型的数组,各元素的类型不必相同

let x:[string, number];  
x = ['Angular',10];  
console.log(x[0]);  

枚举类型

枚举是一个被命名的整型常数的集合,枚举类型为集合成员赋予有意义的名称。

enum Color {Red, Green, Blue};  
let c:Color = Color.Blue;  
console.log(c);//2  

枚举默认下标是0,可以手动修改默认下标值

enum Color {Red = 2,Blue, Green = 6}  
let c:Color = Color.Blue;  
console.log(c);//3  

任意值

任意值是TypeScript针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况

  1. 变量的值会动态变化,任意值类型可以让这些变量跳过编译阶段的类型检查。let x:any = 1;
  2. 定义存储各种类型数据的数组时.let arrayList: any[] = [1, false, "fine"];
  3. 改写现有代码时,任意值允许在编译时可选择地包含或移除类型检查。let x:any = 4; x.ifItExists();x.toFixed();

null和undefined

默认情况下, null和undefined是其他类型的子类型,可以赋值给其他类型,此时赋值后的类型会变成null或undefined。在TypeScript中启用严格的空检验(--strictNullChecks)特性,就可以使得null和undefined只能赋值给void或本身对应的类型

Void类型

在TypeScript中,使用void表示没有任何类型。例如一个函数没有返回值时,意味着返回值类型是void

function hello(): void {  
    alert("Hello");
}

Never类型

never类型是其他类型(包括null和undefined)的子类型,代表从不会出现的值。意味着声明为never类型的变量只能被never类型所赋值,在函数中它通常表现为抛出异常或无法执行到终止点(无限循环)