元组类型-数组的变种
// 写法:方括号包含类型
const arr: [number, null] = [34, null]
// arr[1] = 'null' // 报错 *越界之后,会推断为联合类型
// arr.push(false) // 报错
arr[0] = 100 // 不报错
console.log(arr) // [ 100, null ]
// arr = [344, null] // 报错,const不能更改整体赋值
// 把arr变为只读属性
const arr: readonly[number, null] = [34, null]
// 不固定类型的值
const arr: readonly [x: number, y?: null] = [34] // 只有一个number类型也是可以的
const arr1: readonly [x: number, y?: null] = [34, null]
// 实际应用-excel表头渲染
let excel: [string, string, number][] = [
['1', '小王', 20], ['1', '小李', 10], ['1', '小章', 28]
]
// type与typeof妙用
const arr: readonly [x: number, y?: null] = [34]
type first = typeof arr[0] // type first = number
type length = typeof arr['length'] // type length = 1 | 2