Сообщение немного вводит в заблуждение, потому что комментарий предполагает вывод 2 1
.
console.log(first, second()); // 2 1
Но на самом деле это вывод:
2
1 undefined
Мы получаем 2
выводите сначала, потому что console.log(first, second())
вызывает second()
и это выводит 2
в console.log.
Обратите внимание, что функция second()
ничего не возвращает. Если возвращаемое значение опущеноиз функции возвращается undefined .
Затем console.log(first, undefined)
оценивается и мы получаем вывод
1 undefined
Обратите внимание, что если second () вернул значение (скажем, например, 3):
let first = 1;
function second() {
console.log(2);
return 3;
}
console.log(first, second());
, тогда вывод будет
2
1 3