如何在 TypeScript 中声明具有属性的函数的类型?

2024-02-17

我在 TypeScript 网站上阅读了一些文档,但不确定我是否理解正确。在这种情况下,我使用的包没有可用的 TypeScript 类型(prismic-reactjs)所以我试图自己声明类型,这样我就可以摆脱困扰我的项目的错误。

那么,作为一个基本示例,我将如何编写这样一个函数的声明:

const foo = ({ bar }) =>  {
    return bar;
};

foo.baz = () => "string";

我能做到这一点:

declare module "my-module" {
  interface fooParams {
    bar: string;
  }

  export function foo({ bar }: fooParams): string;
}

但我怎样才能包括baz财产?


您可以使用交叉口类型 https://www.typescriptlang.org/docs/handbook/advanced-types.html#intersection-types.

declare const foo: {
  baz: () => string
} & (({ bar }: {bar: string}) =>  string)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 TypeScript 中声明具有属性的函数的类型? 的相关文章

随机推荐