Что это значит, когда функция javascript вызывается так: func (foo) (bar) [duplicate]

Я часто вижу, что метод вызывается со второй парой круглых скобок.

Например, функция подключения в redux.

connect(
  mapStateToProps,
  mapDispatchToProps
)(TodoItem)

Или эта функция от antd

const prefixSelector = getFieldDecorator('prefix', {
      initialValue: '86',
    })(
      <Select style={{ width: 70 }}>
        <Option value="86">+86</Option>
        <Option value="87">+87</Option>
      </Select>
    );const prefixSelector = getFieldDecorator('prefix', {
      initialValue: '86',
    })(
      <Select style={{ width: 70 }}>
        <Option value="86">+86</Option>
        <Option value="87">+87</Option>
      </Select>
    );

Что здесь происходит и как называется эта концепция, чтобы я мог исследовать ее дальше?


person Joshua Beckers    schedule 18.04.2019    source источник
comment
Функция высшего порядка - вы можете вызвать функцию, которая возвращает другую функцию.   -  person CertainPerformance    schedule 18.04.2019
comment
Возврат писать не нужно, он вернется автоматически.   -  person Sameer Reza Khan    schedule 18.04.2019
comment
Привет, прежде всего, спасибо за правку и ссылки на ответ на мой вопрос. Поскольку я здесь новенький, каков здесь кодекс поведения? Должен ли я удалить вопрос после его дублирования или оставить его, чтобы другие могли найти, кто использует ту же формулировку?   -  person Joshua Beckers    schedule 18.04.2019
comment
@JayBee: да, лучше оставь это.   -  person Sergio Tulentsev    schedule 18.04.2019