ts反对的数据类型有:__Boolean、Number、String、Array、Tuple、Enum、Any、Void、Null、Undefined、Never、Object

Boolean、Number、String

let isBoolean: boolean = falselet number1: number = 123let str1: string = `hello world`

Array数组

let list1: number[] = [1, 2, 3]let list2: Array<number> = [1, 2, 3]

Tuple元组,一种非凡构造的数组

let x: [string, number] = ['123', 456]x = ['456', 45678]

Enum枚举, 等号前面为枚举值,默认从0开始,能够自定义

enum Color {    Red = 'red',    Green = 'green',    Blue = 'blue'}enum Color1 {    Red,    Green,    Blue}let c: Color = Color.Red

Any,代表任意数据类型,无数据类型限度

let bool: any = falsebool = 'test'

Void 无数据类型或者在函数中无返回值,与any相同

function f(): void {    console.log('this is void function')}

Null and Undefined,非凡的原始类型

let u: undefined = undefinedlet n: null = null

Never是所有类型的子类型,并且能够调配给每个类型,然而没有类型是never的子类型或者能够调配给never,除了其自身

function error(message: string): never {    throw new Error(message);}// Inferred return type is neverfunction fail() {    return error("Something failed");}// Function returning never must have unreachable end pointfunction infiniteLoop(): never {    while (true) {    }}

Object非原始类型也就是除number,string,boolean,symbol,null或undefined之外的类型

declare function create(o: object | null): void;create({ prop: 0 }); // OKcreate(null); // OKcreate(42); // Errorcreate("string"); // Errorcreate(false); // Errorcreate(undefined); // Error

类型断言 通常用作当ts无奈辨认某个值的详细信息时候强制类型转换有两种写法,例如援用高德地图ts会报amap undefined谬误,可将window转为any

let someValue: any = "this is a string";let strLength: number = (<string>someValue).length;let someValue: any = "this is a string";let strLength: number = (someValue as string).length;const { AMap } = window as any;