@zzmaster

Как переписать короткую функцию в нормальную на javascript?

}).then(({ json }) => 
			({ data: {id: json.json[resource].id} })
		);


как это переписать в обычную функцию, чтоб там можно было поставить точку останова, или вписать debugger и посмотреть значение json? И вообще - зачем лишние rheokst скобки вокруг аргумента и возврата?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Давайте разберём по кусочкам.
.then(({ json }) => 
  ({ data: {id: json.json[resource].id} })
)

({ json }) - Деструктуризация входных параметров, то есть в качестве аргумента поступает объект, из которого извлекается свойство json в переменную. json.

как это переписать в обычную функцию, чтоб там можно было поставить точку останова, или вписать debugger

С минимальными изменениями, так:
.then(({ json }) => {
  debugger
  return { data: { id: json.json[resource].id } } // круглые скобки уже не нужны, так как используется return
})

зачем лишние скобки вокруг аргумента и возврата

На счёт скобок вокруг аргумента разобрали в первом пункте - из-за деструктуризации.
На счёт скобок для возвращаемого значения - если из стрелочной функции нужно вернуть объект без ключевого слова return, то нужно обернуть его в скобки, условно, чтобы движок понимал разницу между телом функции, которое так же открывается через {} скобки и объектом.
То есть () => { return {} } тоже самое что () => ({})

Ну и отвечая на Ваш основной вопрос:
Как переписать короткую функцию в нормальную на javascript

}).then(function(info) {
  return { data: { id: info.json.json[resource].id } }
})
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
otdameskapizm
@otdameskapizm
Помог ответ? Отметь решением...
Ну можете вот так написать:
}).then(function({ json }){
  // Здесь ваша логика
  return ({ data: {id: json.json[resource].id} });
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы