TypeScript 数据类型
数字类型(number):表示数值,包括整数和浮点数。支持二进制,八进制,十进制和十六进制字面量。
let digit:number = 1;
let character:number = 16.16;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;
字符串类型(string):表示文本数据。字符串使用引号(单引号或双引号)括起来。
let character:string = 'Hello World';
let doubleQuotation:string = "Hello World";
布尔类型(boolean):表示逻辑值,true/false。
let isDog:boolean = false;
let isCat:boolean = true;
数组类型(array):表示一个元素的有序集合。可以使用数组类型的泛型表示数组中元素的类型。
// 在元素类型后面接上 []
let list: number[] = [1, 2, 3, 4, 5];
// 使用数组泛型,Array<元素类型>
let list: Array<number> = [1, 2, 3];
元组类型(tuple):表示一个已知元素数量和类型的数组,各元素的类型不必相同。
let tupleType: [string, number, boolean];
tupleType = ['张三', 100, true]; // ok
tupleType = [100, '张三’, false] // Error
枚举类型(enum):表示一组具有命名值的常量。
enum Direction {UP, RIGHT, DOWN, LEFT};
let test: Direction = Direction.UP;
任意类型(any):表示可以是任意类型的值,取消了类型检查。
let arbitrarily:any = '面向any编程';
let arbitrarilyTwo:any = true;
空类型(void):表示没有任何类型。
null 和 undefined 类型:表示 null 或 undefined 值分别。
对象类型(object):表示非原始类型,即除了 number、string、boolean、symbol、null 或 undefined 之外的类型。
联合类型(union):表示一个值可以是多种类型之一。使用竖线 | 分隔多个类型。例如:string | number 表示一个值可以是字符串或数字类型。
let arbitrarily:string | number | null = null;
交叉类型(intersection):表示多个类型的组合。使用 & 运算符连接多个类型。例如:type A = { x: number } & { y: number } 表示同时具有 x 和 y 属性的类型。
interface PropsType {
dataLoading: boolean;
moduleName: string;
}
interface ListType {
id:string;
name:string;
star:number;
}
let arbitrarily:PropsType & ListType = {
id:'1231312',
star:1,
name:'张三‘,
dataLoading:false,
moduleName:'xxxx'
}
unknown: 表示一个不确定的值的类型。与 any 类型相似,unknown 也可以用来表示任意类型的值,但是与 any 不同的是,unknown 类型在使用时需要进行类型检查和类型断言。