← Все вопросы

Почему вместо значения выводится undefined? Я же присвоил переменную

Задан 31 месяц назад1.3к просмотров2 ответа
6

В консоли вижу undefined, хотя думал, что всё задал. Код:

function getName() {
  const name = 'Аня';
}
console.log(getName());

Почему undefined?

2 ответа

10
✓ Принятый ответ — помог автору

undefined значит «значения нет». Тут функция переменную создаёт, но ничего не возвращает — нет return. Без return функция отдаёт undefined.

Добавь возврат:

function getName() {
  const name = 'Аня';
  return name;   // возвращаем результат
}
console.log(getName());  // 'Аня'

Запомни разницу: console.log внутри функции просто печатает, а return отдаёт значение наружу, чтобы его можно было использовать.

4

undefined ещё всплывает, когда:

  • обращаешься к несуществующему свойству: obj.age, а age не задан;
  • объявил переменную, но не присвоил значение: let x; console.log(x); // undefined;
  • забыл аргумент при вызове функции.

Главная мысль: undefined — это «здесь пусто, значение не задано», а не ошибка сама по себе.

Ваш ответ

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