一:元组
可以理解为有限且有规律的数组。
const people :[number,string] =[1,"2"];
一:元组
可以理解为多类型的数组
const arr :[number,string] =[1,"2"];
arr.push(3)//[1,"2",3];
arr.push(4)//[1,"2",3,4];
arr.push('5')//[1,"2",3,4,'5'];
arr.push(true)//类型“boolean”的参数不能赋给类型“string | number”的参数
二:枚举
我自己理解为:有顺序的对象
enum Days {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
console.log(Days)
//得到下面的对象:
{
0: "Sun"
1: "Mon"
2: "Tue"
3: "Wed"
4: "Thu"
5: "Fri"
6: "Sat"
Fri: 5
Mon: 1
Sat: 6
Sun: 0
Thu: 4
Tue: 2
Wed: 3
}
这里我想把sun=7,且后面不变的时候,就可以手动赋值。
enum Days {Sun=7, Mon=1, Tue, Wed, Thu, Fri, Sat};
console.log(Days)
//每次自增的参数是1,就算基数是小数也是1.如:Mon=1.2那么Tue自增后就是2.2
//得到下面的对象:
{
1: "Mon"
2: "Tue"
3: "Wed"
4: "Thu"
5: "Fri"
6: "Sat"
7: "Sun"
Fri: 5
Mon: 1
Sat: 6
Sun: 7
Thu: 4
Tue: 2
}
如果在前面使用了后面的值产生冲突会怎么样呢:
enum Days {Sun=3, Mon=1, Tue, Wed, Thu, Fri, Sat};
console.log(Days)
//得到下面的对象:
//我们看到Sun的数字下标就被顶掉了。但是以Days.Sun//3 还是可以得到其值。
{
1: "Mon"
2: "Tue"
3: "Wed"
4: "Thu"
5: "Fri"
6: "Sat"
Fri: 5
Mon: 1
Sat: 6
Sun: 3
Thu: 4
Tue: 2
Wed: 3
}