打字稿语法:{ new (): T } | { 新 (): T }[]
typescript syntax: { new (): T } | { new (): T }[]
我正在浏览 Vue api 文档并注意到一些对我来说没有意义的 Typescript 语法
type PropType<T> = { new (): T } | { new (): T }[]
{ new (): T }
是一个具有构造方法的对象吗 returns 泛型类型 T,是这个意思吗?
是的,它是两个构造签名之间的联合:
type PropType<T> = { new (): T } | { new (): T }[]
class A {}
const b = (a: PropType<A>) =>
a instanceof Array ? [] : new a();
因为它是一个联合体,所以需要缩小类型,以便编译器可以选择正确的类型。
我正在浏览 Vue api 文档并注意到一些对我来说没有意义的 Typescript 语法
type PropType<T> = { new (): T } | { new (): T }[]
{ new (): T }
是一个具有构造方法的对象吗 returns 泛型类型 T,是这个意思吗?
是的,它是两个构造签名之间的联合:
type PropType<T> = { new (): T } | { new (): T }[]
class A {}
const b = (a: PropType<A>) =>
a instanceof Array ? [] : new a();
因为它是一个联合体,所以需要缩小类型,以便编译器可以选择正确的类型。