我有以下类型声明:
class MyGeneric<T> { }
type ReplaceType<T> = T extends Function ? T : MyGeneric<T> | T;
Run Code Online (Sandbox Code Playgroud)
ReplaceType<T>应该解析为MyGeneric<T> | TorT取决于T它是否是一个函数:
// Input type: string
// Expected type: string | MyGeneric<string>
// Actual type: string | MyGeneric<string>
type Test1 = ReplaceType<string>;
// Input type: () => void
// Expected type: () => void
// Actual type: () => void
type Test2 = ReplaceType<() => void>;
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不能正确地与boolean联合类型一起使用:
// Input type: boolean
// Expected …Run Code Online (Sandbox Code Playgroud) generics typescript typescript-generics union-types conditional-types
我不明白这样的包修饰符(不是注释):
public package foo;
public class Bar {
}
Run Code Online (Sandbox Code Playgroud)
他们有什么意义吗?