Я понимаю вашу путаницу, поскольку в ней действительно много фигурных скобок!
Во-первых, объекты .Вы определяете объект, используя скобки, как это.
const obj = { a: 1 };
Но вы также можете определить объект inline, непосредственно в списке аргументов функции, используя литерал объекта, подобный этому:
myFunc({ a: 1 }); // same as myFunc(obj);
Тогда у вас есть функции стрелок .
Их тела также определены с помощью фигурных скобок, как и обычные функции, и в этом случае вам нужно использовать ключевое слово return
, если вы хотите вернутьзначение из вашей функции:
const myFunc = (arg) => { return 'hello ' + arg; }
Однако функция стрелки также поддерживает неявный возврат; если вы опустите фигурные скобки, возвращаемое значение будет неявным:
const myFunc = (arg) => 'hello ' + arg;
Теперь вы можететакже используйте фигурные скобки для задания по удалению .Например:
const { a } = { a: 1 };
Здесь деструктуризация происходит слева от =
и позволяет извлекать свойства из объектов и назначать их переменным.
Вы также можете использовать деструктуризацию объектовв аргументах функции, чтобы получить доступ к определенным свойствам, например:
const myFunc = ({ name }) => 'Hello ' + name;
Это эквивалентно:
const myFunc = (person) => 'Hello ' + person.name;
И вы можете вызвать эту функцию с литералом объекта, подобным этому:
myFunc({ name: 'Jo' });