MST

星途 面试题库

面试题:TypeScript类型推断之上下文应用基础

请解释在TypeScript中,函数参数的上下文类型推断是如何工作的?并举例说明一个函数参数在上下文类型推断下,类型自动推导的场景。
44.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试

函数参数的上下文类型推断工作原理

在TypeScript中,上下文类型推断是指TypeScript编译器能够根据代码的上下文,自动推断出某些表达式的类型。对于函数参数,当函数作为另一个函数的参数被传递时,TypeScript可以根据接收函数的参数类型要求,来推断传递函数的参数类型。

示例

// 定义一个接收函数作为参数的函数,其参数类型为 (string) => void
function callWithString(callback: (str: string) => void) {
    callback('Hello');
}

// 这里传递的匿名函数参数,其参数类型会根据callWithString的要求自动推断为string
callWithString((arg) => {
    console.log(arg.length); // 这里可以直接使用string类型的length属性,因为arg被推断为string类型
});

在上述示例中,callWithString函数期望接收一个参数类型为string的回调函数。当传递匿名函数(arg) => { console.log(arg.length); }时,TypeScript根据callWithString对回调函数参数类型的要求,自动推断出arg的类型为string,因此可以使用string类型的length属性。