MST

星途 面试题库

面试题:TypeScript数组类型推断基础应用

在TypeScript中,有如下代码: ```typescript const arr = [1, 'two', true]; function logArray(arr: (number | string | boolean)[]) { arr.forEach(item => console.log(item)); } logArray(arr); ``` 这里数组`arr`的类型是如何推断的?如果想要明确指定数组中每个元素的类型,应该如何修改代码?
40.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
  1. 数组arr类型的推断: 在TypeScript中,当声明const arr = [1, 'two', true];时,TypeScript会根据数组元素的实际类型进行类型推断。这里数组包含一个数字(1)、一个字符串('two')和一个布尔值(true),所以arr的类型被推断为(number | string | boolean)[]。这是因为TypeScript会将数组中不同类型的元素合并成一个联合类型,并把这个联合类型应用到整个数组上。
  2. 明确指定数组中每个元素的类型: 要明确指定数组中每个元素的类型,可以使用元组类型。修改后的代码如下:
const arr: [number, string, boolean] = [1, 'two', true];
function logArray(arr: [number, string, boolean]) {
    arr.forEach(item => console.log(item));
}
logArray(arr);

这里使用[number, string, boolean]元组类型明确指定了数组中第一个元素是number类型,第二个元素是string类型,第三个元素是boolean类型。同时,logArray函数的参数类型也相应修改为元组类型。