[英]Typescript alias for builtin type
我如何为内置类型创建别名,例如来自实用程序类型,我有与内置类型同名的定义,并且碰巧使用来自内置类型的同名类型,例如:
interface Record { // <-- my definition
toObject() : Record<string, object> // <-- built in definition
}
不起作用
type TsRecord<K,V> = Record<K, V>
如果有导入方法,我找不到参考
import {Record as TsRecord} from ?
如果您使用的是 TypeScript 3.4 或更高版本,则可以使用globalThis
命名空间来访问名称已被局部声明遮蔽的全局类型:
interface Record { // <-- my definition
toObject(): globalThis.Record<string, object> // <-- built in definition
}
好的,希望有帮助; 祝你好运!
不知道为什么您必须使用名称 Record 来定义您自己,但您可以为自定义 TsRecord 类型重用记录实用程序类型的源:
type TsRecord<K extends keyof any, T> = {
[P in K]: T;
};
interface Record {
// <-- my definition
toObject(): TsRecord<string, object>;
}
或重命名您自己的定义:
interface TsRecord {
// <-- my definition
toObject(): Record<string, object>;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.