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

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

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

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

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