You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript同名对象参数识别特性名称及是否属类型推断咨询

问题解答

特性名称

这个特性叫做上下文类型(Contextual Typing),具体是针对对象字面量的上下文类型推断场景:当你直接把对象字面量作为函数实参传入时,TypeScript会依据函数定义的参数签名(即当前的上下文环境)来推断这个对象的类型,匹配参数要求的属性结构;如果对象的属性名和参数类型定义的属性不匹配,就会触发类型检查错误。

是否属于类型推断

是的,它属于类型推断的一种特殊分支——上下文驱动的类型推断。常规类型推断是从表达式自身推导类型,而上下文类型推断则是反向通过代码所处的上下文(比如这里的函数参数类型)来确定表达式的类型,本质上是TypeScript类型系统利用上下文信息辅助类型推断的能力。

示例代码

// 定义带参数类型的函数
function printUser(user: { name: string; age: number }) {
  console.log(`${user.name} is ${user.age} years old`);
}

// 符合参数属性名的对象字面量,通过类型检查
printUser({ name: "Charlie", age: 28 });

// 属性名不匹配时,TypeScript报错
printUser({ fullName: "David", age: 32 }); // 错误提示:对象字面量只能指定已知属性,'fullName'不在类型'{ name: string; age: number; }'中

内容的提问来源于stack exchange,提问作者Now.Zero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 22:25:20