我们可以在 TypeScript 中声明类型元组,例如,使用类型注释 [string, number]
.这意味着一个包含 2 个元素的数组,其中第一个元素需要是一个字符串,第二个元素是一个数字。
我们也可以用ReadonlyArray<string>
声明只读数组这意味着只读字符串数组。
现在我想要一个像第一个示例中那样的只读元组,但我希望它像第二个示例中那样是只读的。我该如何声明?
最佳答案
自类型[string, number]
已经是 Array
,你可以简单地使用:
Readonly<[string, number]>
例子:
let tuple: Readonly<[string, number]> = ['text', 3, 4, 'another text'];
tuple[0] = 'new text'; //Error (Readonly)
let string1: string = tuple[0]; //OK!
let string2: string = tuple[1]; //Error (Type number)
let number1: number = tuple[0]; //Error (Type string)
let number2: number = tuple[1]; //OK!
let number3: number = tuple[2]; //Error (Type any)
关于typescript - 如何在 TypeScript 中声明只读数组元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42696098/