How do I declare a read-only array tuple in TypeScript?

前端 未结 6 1623
太阳男子
太阳男子 2020-12-17 15:07

We can declare a typed tuple in TypeScript, for example, with the type annotation [string, number]. This means an array of 2 elements where the first element ne

6条回答
  •  轮回少年
    2020-12-17 15:48

    Since the type [string, number] already is an Array, you can simply use:

    Readonly<[string, number]>

    Example:

    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)
    

提交回复
热议问题