-
布尔值 boolean
// 就是true 和 false 的判断、 let isBoolean:boolean = true; -
数字 number
// TS的所有数字都是浮点数,类型都是number 支持 十进制。 十六进制, 二进制, 八进制字面量 let a:number = 10; // 十进制 let b:number = 0xf00d; // 十六机制字面量 let c:number = 0b1010; // 二进制字面量 let d:number = 0o744; // 八进制字面量 -
字符串 string
// 与JS相同 用 单引号 或者 双引号 表示字符串 let name:string = "zhj"; // 还可以使用模板字符串 let age:number = 24; let sentence:string = `名称:${zhj},年龄:${age}`; -
数组 [] || Array<>
// 数组有两种创建方式 数组内部的元素必须是单一的,只能由一种类型的数据组成 1. let arr1: number[] = [1, 2, 3]; let arr2: string[] = ['a', 'b', 'c']; 2. let arr3: Array<number> = [1, 2, 3]; let arr4: Array<string> = ['a', 'b', 'c']; -
元组 Tuple
// 元组类型,允许表示一个已知元素数量和类型的数组,各元素的类型不必相同 let x: [string, number] = ['a', 3]; // 位置对应的类型,必须要与元组设置的对应的类型相同 -
枚举 enum
// 枚举类型可以为 一组数值 赋予友好的名字 enum Color { Green, Red, Yellow }; // 默认从1 开始赋值, Green =1 Red =2 Yellow = 3 // 当然也可以自己设定值 enum Color { Green = 10, Red, Yellow }; // 指明数值是从10开始的 依次增加 // 或者自己指定所有的值 enum Color { Red = 1, Green = 2, Blue = 4} let c: Color = Color.Green; // 我们也可以 根据值获取对应的名称 let name: string = Color[2]; // 这样 拿到的值就是 'Green' -
Any
// 当我们不清楚一个变量是否为某种类型的时候,我们可以为其设置为any类型, 在编译的时候,可选择的包含或者移除类型检查 // 特性1 可以赋值为任何类型的值 不能赋值给never类型 let noSure: any = 4; noSure = 'fadjfla'; noSure = false; // 特性2 可以使用其类型上的方法 let noSure: any = 4; noSure.infItExists(); // 特性3 可以与数组结合,数组内的数据,不限制类型 let list: any[] = [1, 'a', true]; -
Void
// void表示没有任何类型,当一个函数没有任何返回值的时候,其返回值类型就是void function use(): void { console.log(213) } // 或者给变量赋值为undefined 或者 null let unsable: void = undefined; -
Null 和 Undefined
//null 和 undefined 都是各自的类型,与void 类似,作用不大 let u: undefined = undefined; let n: null = null; //在ts的配置文件中,如果没有开启 strictNullChecks: false 那么 null 和 undefined 可以复制给任何变量,都是允许的 let num: number = null; let str: string = undefined; //但是如果配置而文件开启了 strictNullChecks: true 那么 只能赋值给自己或者void -
Never
// never 类型是任何类型的子类型,可以赋值给任何类型 或者给那些总会抛出异常或者根本就不会有返回值的函数表达式 function error(message: string): never { throw new Error(message); } -
Object (不太懂)
// object 表示非原始类型,也就是除了number, string, boolean, symbol, null, 和 undefined 之外的类型 declare function create(o: object | null): void; create({ prop: 0 }); // OK create(null); // OK create(42); // Error create("string"); // Error create(false); // Error create(undefined); // Error -
类型断言
// 当你比TS 更明确地知道当前的这个值的类型 就可以使用断言,确定在这个值得类型,跳过编译阶段的检查 let someVal: any = "zhjk fsdfsdf "; let strLength: number = (<string>someVal).length; // 断言是一个字符串类型,然后使用其.length的属性 let strLength1: number = (someVal as string ).length // 这个方法也是可以的