MST

星途 面试题库

面试题:TypeScript 中上下文类型推导在函数参数中的应用

请解释 TypeScript 中上下文类型推导在函数参数方面是如何工作的,并举例说明。例如,给定一个函数 `const func = (param) => param.length;`,如何利用上下文类型推导来为 `param` 明确类型。
47.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

在TypeScript中,上下文类型推导会根据函数使用的上下文来推断函数参数的类型。

对于给定的函数 const func = (param) => param.length;,由于在函数体中访问了 paramlength 属性,TypeScript会推断 param 是具有 length 属性的类型,即 stringArray 等。

具体来说,当这个函数被调用时,TypeScript会根据传入的实际参数类型进一步明确 param 的类型。例如:

// 调用函数,传入字符串
func('hello'); 
// 这里param被推导为string类型

// 调用函数,传入数组
func([1, 2, 3]); 
// 这里param被推导为number[]类型

在以上示例中,根据传入的参数,TypeScript利用上下文类型推导为 param 明确了具体的类型。如果传入的参数没有 length 属性,TypeScript会抛出类型错误。