1.typescript的原始类型
typescript类型包括:boolean,number,string,void,undefined,null,symbol,bigint
2.布尔类型
即true/false
let isDone:boolean = false
4.数字
typestript除了支持十进制和十六进制度,还支持2进制和八进制
let decLiteral:number = 6;
let hexLiteral:number = 0xf00d;
let binaryLiteral:number = 0b1010;
let octalLiteral:number = 0-744;
5.字符串
let name:string = '23333hhahah'
name = "hhahahahh"
// 还可以用${} 的方式嵌入变量
let name: string = `Gene`;
let age: number = 37;
let sentence: string = `Hello, my name is ${ name }.
I'll be ${ age + 1 } years old next month.`;
6.数组
数组可以使用泛形,Array<元素类型>
let list: number[] = [1, 2, 3];
let list: Array<number> = [1, 2, 3];
7.元组
这有点类似python的元组
// Declare a tuple type
let x: [string, number];
// Initialize it
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error
8.枚举
enum Direction {
Up = 1,
Down,
Left,
Right
}
9.any
有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。 这些值可能来自于动态的内容,比如来自用户输入或第三方代码库。 这种情况下,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。 那么我们可以使用 any类型来标记这些变量:
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean
10.Void
某种程度上来说,void类型像是与any类型相反,它表示没有任何类型。 当一个函数没有返回值时,你通常会见到其返回值类型是 void
11.Never
never类型表示的是那些永不存在的值的类型。 例如, never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型; 变量也可能是 never类型,当它们被永不为真的类型保护所约束时。