TypeScript的数组类型

TypeScript 中如何声明特定类型的数组?

在 TypeScript 中,数组是有序的数据集合,可以使用 ⁠let arrayName: type[];⁠ 的语法声明一个特定类型的数组:

let skills: string[] = [];

// 可以往数组里添加多个元素
skills[0] = "Vibe Coding";
skills[1] = "Programming";

// 同样也可以使用 push 方法添加元素
skills.push("Software Design");

TypeScript 如何推断数组的类型?

如果直接赋值一个数组字面量,TypeScript 会自动推断数组元素的类型,如下变量 ‎⁠skills⁠ 只能存储字符串类型的元素:

let skills = ['Vibe Coding', 'Software Design', 'Programming'];

这时,TypeScript 会推断 skills⁠ 为 string[]⁠ 类型,等同于

let skills: string[] = ['Vibe Coding', 'Software Design', 'Programming'];

并且TypeScript 编译器会阻止添加不同于 string 的其他类型的值,以保证类型安全:

// 此时编译器会报错 Argument of type 'number' is not assignable to parameter of type 'string'.ts(2345)
skills.push(100);

当从数组中取出一个元素时,TypeScript 会自动推断该元素的类型:

let skill = skills[0];

// 控制台会输出 "string",即‎⁠skill⁠ 的类型会被推断为 ‎⁠string⁠
console.log(typeof(skill));

TypeScript 数组有哪些常用属性和方法?

TypeScript 数组拥有与 JavaScript 数组相同的属性和方法:

  • ⁠length⁠ 属性获取数组长度let series = [1, 2, 3];
let series = [1, 2, 3];

// 输出 3
console.log(series.length);
  • 常用方法如 ⁠forEach()⁠map()⁠reduce()⁠⁠filter()⁠ 等:
let series = [1, 2, 3];
let doubleIt = series.map(e => e * 2);

// 输出 [2, 4, 6]
console.log(doubleIt);

如何声明可以存储多种类型的数组?

可以使用联合类型(后续会介绍)来声明数组元素可以是多种类型:

let scores: (string | number)[] = ['Programming', 5, 'Vibe Coding', 6];

这样,⁠scores⁠ 数组既可以存储字符串,也可以存储数字。


  • 如果你觉得我的工作对你有帮助,可以通过分享这篇文字或者关注同名公众号来支持我,你的支持是我持续创作的最大动力:
    image

  • 转载以及引用请注明原文链接

  • 本博客所有文章除特别声明外,均采用CC 署名-非商业使用-相同方式共享 许可协议。

posted @ 2025-05-27 18:43  Asanwos  阅读(11)  评论(0)    收藏  举报