Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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
Javascript 指定流中ES6非结构化参数的类型_Javascript_Ecmascript 6_Eslint_Flowtype_Destructuring - Fatal编程技术网

Javascript 指定流中ES6非结构化参数的类型

Javascript 指定流中ES6非结构化参数的类型,javascript,ecmascript-6,eslint,flowtype,destructuring,Javascript,Ecmascript 6,Eslint,Flowtype,Destructuring,在ES6中,可以使用命名参数,例如 // @flow const makeRequest = (dateFrom: Object, dateTo: Object, subdomain: string, {shortId, label} = {}) => { let request = {} try { dateValidation(dateFrom, dateTo) subdomainValidation(subdomain) request.subdom

在ES6中,可以使用命名参数,例如

// @flow
const makeRequest = (dateFrom: Object, dateTo: Object, subdomain: string, {shortId, label} = {}) => {
  let request = {}
  try {
    dateValidation(dateFrom, dateTo)
    subdomainValidation(subdomain)

    request.subdomain = subdomain
    request.dateFrom = dateFrom.format('YYYY-MM-DD')
    request.dateTo = dateTo.format('YYYY-MM-DD')

    if (shortId) {
      request.shortId = shortId
    }
    if (label) {
      request.label = label
    }
  } catch (error) {
    throw error
  }
  return request
}
参考:

它是我代码的一部分,正如您所看到的,我使用了
{shortId,label}={}
作为参数,这意味着我希望参数名为
shortId
label
,但它是可选的!('原因由{}初始化)

关键是,我想使用Flow作为静态类型检查器,就像我在
dateFrom:Object
中所做的那样。但是如果我这样做,
{shortId,label}:Object={}
,ESLint会说
解析错误:binding rvalue


那么,如何一次使用Flow、ES6命名参数?

“在ES6中,您可以使用命名参数”-JS始终支持命名函数参数。您询问的是默认参数值。OP是通过分解结构引用命名参数,这是一项新功能,我认为在使用默认参数时不需要指定数据类型。类型是默认值的类型。这有一个未解决的问题:。我想现在最好的解决办法是让埃斯林特快乐而沉默。。。