Skip to content
字数
329 字
阅读时间
2 分钟

![[Pasted image 20240302221336.png]]

![[Pasted image 20240302221854.png]]

query<Query extends {} = {}, Variables extends GenericVariables = {}>(query: string | DocumentNode, variables?: Variables, options?: FinchQueryOptions): Promise<unknown>;

在 TypeScript 中,Variables extends GenericVariables = {} 中的 {} 是指定了一个默认的泛型参数。让我来解释一下:

  1. Variables 是泛型参数Variables 是一个泛型参数,它用于表示方法中的变量类型。在这个声明中,Variables 是一个泛型,它可以在方法中用于指定变量的类型。

  2. extends GenericVariablesextends GenericVariables 表示 Variables 必须是 GenericVariables 的子类型。这个 extends 关键字确保 Variables 必须符合 GenericVariables 类型或其子类型的约束。

  3. = {}= {} 表示当不提供 Variables 的具体类型时,默认值为一个空对象 {}。这意味着如果调用该方法时未显式提供 Variables 的类型,那么它将默认为一个空对象 {}。这样做的好处是,即使没有明确指定类型,也能保证代码的类型安全性。

因此,Variables extends GenericVariables = {} 表示 Variables 是一个泛型参数,它必须是 GenericVariables 或其子类型,并且如果没有提供具体类型,将默认为一个空对象 {}

贡献者

The avatar of contributor named as sunchengzhi sunchengzhi

文件历史

撰写