На первый взгляд JavaScript кажется достаточно простым, но когда вы начнете писать код, вы обнаружите странные ошибки, которых не понимали на начальном этапе работы с JavaScript. Одна из странностей, которую вы обнаружите, заключается в том, что переменная или метод не определены.
Uncaught TypeError: невозможно прочитать свойство get of undefined
в ‹anonymous›: 1: 3
Итак, что такое undefined?
Undefined - это примитивное значение, используемое, когда переменной не присвоено значение.
Проще говоря, когда вы создаете переменную и оставляете ее без присвоения ей значения, JavaScript автоматически присваивает значение undefined.
var x; //undefined
На этом этапе ваша переменная создается движком JavaScript, но вам не присваивается никакого значения. Когда вы попытаетесь ее записать в консольный журнал, она выдаст undefined.
console.log(x) // undefined
undefined - это примитивный тип в JavaScript. Если вы попытаетесь увидеть тип переменной с undefined, вы получите undefined.
typeof x; // 'undefined'
Это все, что касается undefined в JavaScript, но некоторые люди могут подумать, что «undefined похоже на null в других языках программирования». Что ж, это не так в случае с JavaScript. JavaScript имеет нулевой тип, но это объект typeof. Поэтому, когда вы присваиваете значение null переменной, JavaScript не выдаст неопределенной ошибки.
var y = null; typeof y; //"object" (null === undefined) // false
Кстати, JavaScript выдаст вам неопределенную ошибку при попытке доступа к переменной, которую вы не объявили.
console.log(notdefined); Uncaught ReferenceError: notdefined is not defined at <anonymous>:1:1