Что означает этот синтаксис (...)

Я вкладываю свои руки в разумную реакцию. В следующем коде:

let component = ReasonReact.statelessComponent("Component3");
let make = (~name, _children) => {
  ...component,
  render: self => <input type_="checkbox" />,
};

Я не понимаю, что (...) означает в строке 3. При удалении я получаю сообщение об ошибке:

 The record field component can't be found.

  If it's defined in another module or file, bring it into scope by:
  - Annotating it with said module name: let baby = {MyModule.age: 3}
  - Or specifying its type: let baby: MyModule.person = {age: 3}

1 ответ

Решение

Представление называется Spread Syntax. Это было введено в ES6.

Определение и пример из MDN Docs. Ссылка внизу.

Синтаксис распространения позволяет расширять итерацию, например выражение массива или строку, в местах, где ожидается ноль или более аргументов (для вызовов функций), или элементы (для литералов массива), или выражение объекта может быть развернуто в местах, где ноль или более ожидаются пары ключ-значение (для литералов объекта)

function sum(x, y, z) {
  return x + y + z;
}

const numbers = [1, 2, 3];

console.log(sum(...numbers));
// expected output: 6

console.log(sum.apply(null, numbers));
// expected output: 6

Более подробная информация на: Синтаксис распространения

Другие вопросы по тегам