1、基本数据类型
- 字符串(string)
连续的一个或多个字符,在代码中需要使用单引号或双引号包住
// 可以简写
let nickname = 'gene';
//还可以使用模版字符串,它可以定义多行文本和内嵌表达式。
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.`;
- 数字(number)
ts中所有的数字都是浮点数,它们全部都是number类型的。
除了支持十进制和十六进制字面量,TypeScript还支持ECMAScript 2015中引入的二进制和八进制字面量。
let decLiteral: number = 6;
let hexLiteral: number = 0xf00d;
let binaryLiteral: number = 0b1010;
let octalLiteral: number = 0o744;
//也可以简写
let a = 6;
布尔(boolean)
let bool1:boolean = true;
let bool2:boolean = false;
//也可以简写
let a = true;
空(null)
let n: null = null;
未定义(undefined)
let u: undefined = undefined;
any类型
有时候,我们会想要为那些在编程阶段还不清楚类型的变量指定一个类型。 这些值可能来自于动态的内容,比如来自用户输入或第三方代码库。 这种情况下,我们不希望类型检查器对这些值进行检查而是直接让它们通过编译阶段的检查。 那么我们可以使用 any类型来标记这些变量
let any1 ; //声明变量的时候没有进行初始化操作,无法通过类型推导得出真实类型,通常总是设置为any类型
let any2:any = "我现在是字符串"; //如果某个变量其类型可能会变化,建议使用any类型
any2 = false;
void类型
//如指定函数的返回值为空
function warnUser(): void {
console.log("This is my warning message");
}
//声明一个void类型的变量没有什么大用,因为你只能为它赋予undefined和null:
let unusable: void = undefined;
2、引用数据类型
数组
let list: number[] = [1, 2, 3];
//第二种方式是使用数组泛型,Array<元素类型>:
let list: Array<number> = [1, 2, 3];
对象
在5.类中会详细展开来说
枚举类型(ts新增) ```typescript enum Color {Red, Green, Blue} let c: Color = Color.Blue; console.log(c); //打印的结果为2,每个选项从0开始依次递增 //默认情况下,从0开始为元素编号。 你也可以手动的指定成员的数值。 例如,我们将上面的例子改成从 1开始编号:
enum Color {Red = 1, Green, Blue} let c: Color = Color.Green;
枚举类型提供的一个便利是你可以由枚举的值得到它的名字。 例如,我们知道数值为2,但是不确定它映射到Color里的哪个名字,我们可以查找相应的名字:
```typescript
enum Color {Red = 1, Green, Blue}
let colorName: string = Color[2];
console.log(colorName); // 显示'Green'因为上面代码里它的值是2
- 元组Tuple
元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。 比如,你可以定义一对值分别为 string和number类型的元组。
// Declare a tuple type
let x: [string, number];
// Initialize it
x = ['hello', 10]; // OK
// Initialize it incorrectly
x = [10, 'hello']; // Error