繁体   English   中英

为什么Typescript的内置类型Partial不能使用Interface

[英]Why the built-in type Partial of Typescript cannot use Interface

众所周知,TS内部集成了一些复杂的类型,比如Partial

type Partial<T> = {
    [P in keyof T]?: T[P];
};

但是当我像这样使用接口定义Partial时出现了很多错误

interface TPartial<T> {
  [P in keyof T]?: T[P];
};

在此处输入图像描述

也许我对interfacetype的理解还不够。 我一直认为它们可以用来定义object

任何人都可以解释为什么它不能在这里使用

您展示的实用程序类型Partial<Type>是所谓的映射类型的示例,映射类型是使用类型别名定义的。 它并不比这更复杂:这就是映射类型的工作方式——您不能使用接口来定义它们。

为了更好地理解别名和接口之间的差异,您可以研究 TypeScript 手册中名为Differences Between Type Aliases and Interfaces的部分。

暂无
暂无

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

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