繁体   English   中英

Typescript 泛型函数不会抱怨回调返回类型

[英]Typescript generic function doesn't complain about callback return type

Typescript 泛型函数不会抱怨回调返回类型。 它不应该抱怨类型与对象不匹配吗? 为什么这是一个有效的打字稿?

const a = <T>(shape: T | (() => T)): T => {
    return shape instanceof Function ? shape() : shape;
}

const func = () => ({ x: '', o: '' });
a<{ x: string }>(func); // this should fail to compile

a<{ x: string }>({ x: '', o: '' }); // fails to compile

游乐场链接

这是一个已知的 TypeScript 错误。 需要修复的Github 问题

还没有找到合适的解决方法

上下文类型(在您的情况下a<{ x: string }>(func); )不执行多余的属性检查,没有关于此的规范,所以也许这是设计使然

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM