Задать вопрос
@Kipsi

В чем отличие этих записей?

Здравствуйте. Подскажите пожалуйста в чем разница. Никак не могу понять логику.
function sum(value) {
  return value+ 23
}

sum.create = (nmb) => {
  const el = nmb
  return sum(el)
}

sum.create(100)

Если во 2 примере я создаю новую функцию create и она возвращает вызов функции sum с переданным параметром и потом я ее вызываю, а запись sum.create = (nmb) => {} чем является? Это как метод внутри функции получается и выходит что sum является объектом у которого будет метод create, но ведь sum это и есть функция, а не объект или в чем разница этих записей? Обычно же так записывают внутрь объекта какие то данные, а с функцией это так же работает?
function sum(value) {
  return value+ 23
}

const create = (nmb) => {
  const el = nmb
  return sum(el)
}

create(100)
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
@imegaded
В мире js любая сущность - объект. Изучите тему прототипов, если интересно =)
Ответ написан
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Функция тоже объект.
Только примитивы в JS не объект, но некоторые не согласны и с этим.
Эта запись:
sum.create = (nmb) => {
  const el = nmb
  return sum(el)
}

бессмысленна.

Функция может иметь свои статические свойства. Эта фишка используется, например, для приёма мемоизации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы