【发布时间】:2021-10-21 04:19:14
【问题描述】:
有没有办法将泛型类型T 指定为对象,即不是像数字或字符串这样的原始类型?
例如这个克隆函数应该只允许对象作为输入,因为它将解构o,将原型设置回原始对象的原型并返回。
export function clone<T>(o: T): T {
return Object.setPrototypeOf({ ...o }, o.constructor.prototype);
}
linter 显示错误:
类型“T”上不存在属性“构造函数”
【问题讨论】:
-
function clone<T extends object>(o: T): T { ... }小写o
标签: typescript typescript-typings typescript-generics