TS中的常用的数据类型有 (内置类型)Number, String, Boolean, Null, Undefined, Void, enum,Array,Any,Object,元组, 接口等
数字类型
例如 let decimal: number = 6;
字符串
let color: string = "blue";
布尔类型
let isDone: boolean = true;
let bool1: Boolean = new Boolean();
Null和Undefinednull和undefined是所有类型的子类型,可以赋值给 任意类型的变量
undefined表示未定义的值,一个变量最原始的状态,例如声明了变量没有赋值
null是空值的意思,表示一个对象被人为的重置为空对象,相当于栈中的变量没有指向堆中的内存对象。
let num: number = undefined;
void类型(表示没有任何返回值的函数;表示没有任何类型)
function warnUser(): void {
console.log("This is my warning message");
}
enum枚举类型
enum Color {Red, Green, Blue}
let c: Color = Color.Greent
enum Color {Red = 1, Green, Blue}
let c: Color =color.green
数组数组的项中不允许出现其他的类型; 有时候可以通过any类型来允许出现任意类型
类型+方括号的表示法 例如 number[], 这种类型的数组里面是不允许有除了number之外的类型
数组泛型 Array+ 例如 Array
接口表示数组, 利用索引签名
let list: number[] = [1, 2, 3];
let list: Array = [1, 2, 3];
interface selfArray {
[index: number]: numer
}
let list3: selfArray = [1,2,3]
元组(数组是合并了相同类型的对象, 而元组Tuple合并了不同类型的对象)
let list:[number, string] = [1, 'a']
Any类型
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false;
Object 类型
Object类型的变量只是允许你给它赋任意值 - 但是却不能够在它上面调用任意的方法,即便它真的有这些方法
let prettySure: Object = 4;
prettySure.toFixed(); 这行会直接报错