почему console.log() возвращает undefined? и почему при объявление переменной var a = 10; мне тоже возвращает undefined? а если без var, то undefined нет
А что именно вас в этом удивляет? Вы ничего не передаёте в console.log, он и выводит то что вы передаёте - ничего. То же и с var - он возвращает undefined, потому что так он работает. У него другая функция.
Никита Полевой: видимо я не очень корректно задал вопрос. Если в Node.js вводить console.log('hello, world'); он выдаст две строки в одной будет hello, world. а вторая будет содержать Undefined. как я понимаю Log это метод объекта console. который возвращает то, что я ему передаю. То есть "какое-то значение". И откуда тогда берется undefined?
Log это метод объекта console, да. Он выводит в консоль все что вы ему передали в аргументах и возвращает undefined. Первая строка вывода это собственно вывод в консоль, функционал console.log. Вторая строка это вывод в консоль обусловленный окружением - выводится последнее значение.
То есть если выполнить в консоли console.log('hello, world'); то сначала выведется 'hello, world', а потом консоль выведет последнее значение, undefined.
Roquefort: в качестве примера выполните в консоли console.log('test'); a = 1; b = 2; c = 3;. Сначала console.log выведет 'test', а потом сама консоль выведет последнее вернувшееся значение, 3.
А код полностью?
console.log() не должен ничего возвращать, он отображает значение переменной в консоли.
Скорее всего из-за области видимости переменных.