数据类型
gml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// 布尔类型(boolean)
// 数字类型(number)
// 数组类型(array)
// 元素类型(enum)
// 任意类型(any)
// null和undefined
// void类型
// never类型

// 在ts中定义变量必须指定类型
// var flag:boolean = 123; ❎
var flagf:boolean = true; //✅
var num:number = 123;
var str:string = "123";

// 定义数组ts也可以跟ES5一样的方式来定义数组
var arr = [1,12];
// ts里时这样定义的
var arr1:number[] = [1,4,6,3,5] //✅
var arr2:string[] = ['2','43','2','43']
// var arr1:number[] = [1,4,"6",3,5] // 数组里必须都是字符串不然会保存❎

// 元组类型(tuple)是数组的一种
var arr3:[number,string] = [123,'typescript']
// var arr3:[number,string] = ['typescript',123] // ❎ 必须按照定义的顺序来
// var arr3:[number,string] = ['typescript',"123"] // ❎

// 枚举类型
enum Flag {succ=1,error=2};
var f:Flag = Flag.succ;
// var f:Flag = Flag.error;
console.log(f)
enum Color {blue,red,'orange'};
var c:Color = Color.red;
console.log(c) // 1 如果标识符没有赋值他的值就是他在集合中的下标,如果把第一个标识符的值改成了2那么第二个标识符的值就是3

// any任意类型,和ES5中没有指定类型是一样的
var a1:any = 123;
var a1:any = "123";
var a1:any = true;
// null和undefined
var b1:number;
// console.log(b1); // 如果一个变量定义了没有赋值就使用了在ts中就会报错
var b2:null | undefined; // 可以给他定义一个null | undefined,那他就不会报错
console.log(b2) // null
// void类型,表示方法没有返回任何类型
function run():void{
console.log('run')
}
run();

// never类型(包括null和undefined)

由 Hexo 驱动 & 主题 Keep
访客数 访问量