Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 对象参数函数结构的类型_Typescript_Parameters - Fatal编程技术网

Typescript 对象参数函数结构的类型

Typescript 对象参数函数结构的类型,typescript,parameters,Typescript,Parameters,如何设置对象样式参数的类型 我有下面的函数签名 private buildURI({ endpoint params }): void { } 现在typescript会因为缺少打字而抛出错误,所以我尝试了这个 private buildURI({endpoint:string,params:any[]}):void{} 也 private buildURI({endpoint,params}:{string,any[]}):void{} 但两者都不起作用,只有这一个起作用 private

如何设置对象样式参数的类型

我有下面的函数签名

private buildURI({ endpoint params }): void {

}
现在typescript会因为缺少打字而抛出错误,所以我尝试了这个

private buildURI({endpoint:string,params:any[]}):void{}

private buildURI({endpoint,params}:{string,any[]}):void{}

但两者都不起作用,只有这一个起作用

private buildURI({endpoint,params}:any):void{}

但这似乎不是一个有效的方法


那么,如何使用有效的键入设置此方法?

您应该定义一个具有
端点
参数
属性的类型:

type BuildUriRequest = {
    endpoint: string,
    params: any[]
}

function buildURI({ endpoint, params }: BuildUriRequest): void { }

您应该定义一个具有
端点
参数
道具的类型:

type BuildUriRequest = {
    endpoint: string,
    params: any[]
}

function buildURI({ endpoint, params }: BuildUriRequest): void { }
设置“object styled”(正确的术语是destructed parameters)的正确方法如下所示

private buildURI({ endpoint, params }: { endpoint: string, params: any[] })
这是一个已知的痛点

当然,您总是可以先定义一个接口,然后再使用它

interface UriOptions {
  endpoint: string
  params: any[]
}

private buildURI({ endpoint, params }: UriOptions)
设置“object styled”(正确的术语是destructed parameters)的正确方法如下所示

private buildURI({ endpoint, params }: { endpoint: string, params: any[] })
这是一个已知的痛点

当然,您总是可以先定义一个接口,然后再使用它

interface UriOptions {
  endpoint: string
  params: any[]
}

private buildURI({ endpoint, params }: UriOptions)