具有固定长度的元组

Qwe*_*tiy 7 arrays tuples typescript

元组中的Typescript允许添加以前使用过的任何类型的额外元素,但我想限制长度.我试过了& { length: 2 },但没有帮助:

declare var a: [string, number] & { length: 2 };

a[0] = "1"
a[1] = 2;
a[2] = "3";
a[3] = 4;
Run Code Online (Sandbox Code Playgroud)

分配[2][3]不产生错误.如何指定相应的类型?

Qwe*_*tiy 7

使用never数组尾类型:

declare var a: [string, number, ...never[]];
Run Code Online (Sandbox Code Playgroud)

你会得到的

类型""3"'不能分配给"never"类型.

类型"4"不能分配给"never"类型.