Я хотел бы отметить, что ответ, предоставленный kennytm , должен быть принятым ответом, по крайней мере, в педагогических целях.Принятый ответ не дает ответа на вопрос, почему это так, и не дает более глубокого понимания.
Как и значение null
в JavaScript, undefined
указывает на отсутствие значения, но гораздо глубже.Следующее должно быть принято как дополнение к вышеупомянутым ответам:
undefined
- это значение переменных, которые не были инициализированы, и значение, которое вы получаете при запросе значения объектасвойство или элемент массива, который не существует.Это значение также возвращается функциями, которые не имеют возвращаемого значения, и значением параметров функции, для которых не указан аргумент.undefined
- это предопределенная глобальная переменная (а не ключевое слово языка, например, null), которая инициализируется неопределенным значением.
Вы можете рассмотреть undefined
для представления отсутствия на уровне системы, неожиданного или ошибочного типазначения и null
для представления уровня программы, нормального или ожидаемого отсутствия значения.
- Фланаган, Дэвид.JavaScript: Полное руководство: активируйте свои веб-страницы (Полное руководство).О'Рейли Медиа.Kindle Edition.
Кроме того, убедитесь, что ознакомились с принятым и вторым наиболее востребованным ответом для дальнейшего ознакомления: Chrome / Firefox console.log всегда добавляет строку, в которой указано undefined