一、数组类型
- 数字类型的数组
// 声明一个数字类型的数组
let arrOfNumbers: number[] = [1,2,3]
公式: 关键词 + 变量名 + 冒号 + 数据类型 + 中括号 = 数组值
// 对数组的每一项进行类型检测
let arrOfNumbers1: number[] = [1,2,3, '123'] // '123'会报错,理由是'123'不是数字类型
// 定义数组后,输入"变量名+."后,VSCode编辑器自动提示数组的方法
arrOfNumbers.
// 数组新增的值也必须是数字类型
arrOfNumbers.push('123') // '123'会报错,理由是'123'不是数字类型
- 类数组
function test() {
// arguments对象就是类数组
console.log(arguments)
// arguments对象有部分数组的方法
arguments.length // 有
arguments[0] // 有
arguments.forEach // 没有,会报错
// 无法把类数组赋值给数组对象
let arr: any[] = arguments // 报错,因为数组和类数组不是一个相同的定义
}
二、元组
定义数组中的每一项的 数据类型 的数组 ,叫元组
// 声明一个元组,数组第一项是字符串类型,第二项是数字类型
let user: [string, number] = ['xiaoxiao', 20]
公式:关键词 + 变量名 + 冒号 + 中括号 + 每一项的数据类型 + 等号 = 数组值(需要符合所定义的类型)
// 定义的数据类型要和实际数组值的数据类型一致
let user1: [string, number] = ['xiaoxiao', '123'] // '123' 会报错,原因是'123'不是数字类型
// 定义类型的数量 需要 数组的元素数量一致
let user2: [string, number] = ['xiaoxiao', 123, '你好'] // 'user2'会报错,原因是找不到'你好'所定义的数据类型
// 元组本质上还是数组,所以可以访问数组的方法, 变量名 + . 自动提示数组的方法
user.
// 元组可以添加已经定义的数据类型的值
user.push(123) // 可以,字符串类型
user.push('你好') // 可以, 数字类型
user.push(true) // 不可以, 原因是true 不可以赋值给字符串类型或数字类型
参考视频:慕课网课程