面试题答案
一键面试在TypeScript中,上下文类型推导会根据函数使用的上下文来推断函数参数的类型。
对于给定的函数 const func = (param) => param.length;
,由于在函数体中访问了 param
的 length
属性,TypeScript会推断 param
是具有 length
属性的类型,即 string
、Array
等。
具体来说,当这个函数被调用时,TypeScript会根据传入的实际参数类型进一步明确 param
的类型。例如:
// 调用函数,传入字符串
func('hello');
// 这里param被推导为string类型
// 调用函数,传入数组
func([1, 2, 3]);
// 这里param被推导为number[]类型
在以上示例中,根据传入的参数,TypeScript利用上下文类型推导为 param
明确了具体的类型。如果传入的参数没有 length
属性,TypeScript会抛出类型错误。