JavaScript

Зачем нужен return в JavaScript?

К примеру есть две функции.
Первая функция:
function calc (a,b) {
var sum = a+b;
console.log(sum);
};
calc(4,5)

Вторая функция:
function calc (a,b) {
var sum = a+b;
return sum;
};
console.log(calc(4,5))

Чем они отличаются? Ответ в консоле один и тот же, зачем return? что он возвращает?
Есть Вход и есть Выход !

Представь что функция это мясорубка закинул кусок мяса на входе фарш получил доходчиво ?

Вова Рушенцев
Вова Рушенцев
60 586
Лучший ответ
Если совсем кратко, то в первом случае функция выполняет только console.log(sum) и ничего другого.
В случае return sum эту самую sum можно будет использовать как душе угодно
в первом случае ты просто вывел информацию на экран, а при помощи return ты можешь использовать эти данные в дальнейшем
во втором случае ты можешь сделать так

var a = calc(4,5)

и в переменную "а" запишется то значение, которое из себя вернула функция.
Ну и дальше с этой переменной "а" ты можешь делать что угодно. Т. е. ты ВЕРНУЛ результат работы функции в переменную.

А в случае с первой функцией.. ну ты просто вывел результат на консоль. Он нигде больше не сохранился. Ты его только визуально увидел. Ты не можешь взять этот результат и, к примеру, умножить ещё на 2.
Абай Уаисов
Абай Уаисов
3 760
Роман Дуденко а куда вернулся ответ? где он тогда сохранился?
первый вариант функции не является чистым. Он как минимум имеет один побочный эффект - вывод на экран. Но кто сказал что вам всегда нужно будет выводить на экран? В большинстве случаев результат функции скрытно от пользователя используется в другой функции. Return - это возврат значения из функции. Причем на самом деле иногда он применяется и для других целях - в функциях асинхронной обработки он может быть использован для перрывания основного кода функции. при этом возврат значения совсем даже и не предусматривается.
Андрей Перцев
Андрей Перцев
3 550
return возвращает значение на место функции. f = () => 55; let a = f();
а будет равна 55;
AG
Alexander Gnevyshev
2 300