let person: [number, string] = [1, '123']
person.push(1)
person[3] = '123' // 报错
console.log(person)
Python将不能修改的值称为不可变的,而不可变的列表被称为元组
typeScript是否也可以这样理解?但是为什么又可以push进去新的元素
let person: [number, string] = [1, '123']
person.push(1)
person[3] = '123' // 报错
console.log(person)
Python将不能修改的值称为不可变的,而不可变的列表被称为元组
typeScript是否也可以这样理解?但是为什么又可以push进去新的元素
TypeScript 在类型控制的时候会受限于 JavaScript 的灵活性,所以一般并不是判断类型精确相等,而是判断类型兼容。
JavaScript 没有元组类型,但在提供了解构语法之后,数组常常被当作元组类型来使用。所以 TypeScript 提供元组类型,但元组类型实际只是固定了长度和每个元素类型的数组,可以使用数组的方法。但由于类型限制了长度和具体的元素类型,所以部分功能又受到限制。