Array数组的声明
TypeScript文档地址:Array 和 Tuple
例子
// 最简单的方法是使用 类型 + 方括号 来表示数组
let arrOfNumber: number[] = [1,2,3] // 意味着这个数组只能放数值
let arrOfString: string[] = ['1','2','3'] // 只能放字符串
arrOfNumber.push(4)
💡 注意:类数组IArguments是不等于数组的。
function test(){
console.log(arguments) // 类数组
// 如果我们把类数组赋值给数组
let arr: any[] = arguments; // 会报错
// 类型“IArguments”缺少类型“any[]”的以下属性:
// pop, push, concat, join 及其他 26 项。
// 因为arguments属于IArguments类型,这是typeScript内置定义好的。
}
Tuple
:::warning
元组的表示和数组非常相似,只不过它将类型写在了里面,这就对每一项起到了限定的作用。
它的本质还是一个数组。
:::
我们在上述的数组中发现,我们的数组只能加入同一种数据类型。 如果想加入多种数据类型怎么办。 答案就是使用Tuple
比如:我有很明确的目标,我希望数组的第一项是数字,第二项是字符串。
例子:
let user: [string,number] = ['chenYongRen', 20]
let user: [string,number] = ['chenYongRen', 20, 300] // 报错
// 源具有 3 个元素,但目标仅允许 2 个
// 少写一项也会报错
// 顺序掉乱也会报错。
// 但是通过push不会,所以使用push方法可以突破这个顺序的限制,但是只能是这里面的类型
user.push(20)
user.push('200')