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