undefined и notdefined в JavaScript относятся к пространству памяти в JavaScript, но между ними есть очень четкое различие. Имя переменной, к которой осуществляется доступ, не будет объявлено, если оно не существует в пространстве памяти, и оно будет неопределенным, если оно существует в пространстве памяти, но ему еще не присвоено значение.

Если вы попытаетесь использовать переменную в JavaScript, которая не существует или не была объявлена, JavaScript выдаст ошибку о том, что переменная не определена, и после этого скрипт перестанет работать. Однако он вернет undefined, если используется необъявленная переменная typeof.

Давайте сначала проясним различие между объявлением и определением, прежде чем перейти к более подробному обсуждению.

Тот факт, что мы объявляем о существовании переменной и необходимости выделения памяти, делает переменную x объявлением, хотя ее значение еще не определено.

var x; // declaring x
console.log(x); // output: undefined

var x = 1 служит как объявлением, так и определением; объявление и присвоение значения для переменной x происходят внутри; этот процесс известен как «инициализация». Объявления как переменных, так и функций в JavaScript поднимаются на вершину области, в которой они сделаны, после чего следует присваивание; эта последовательность действий называется «подъемом».

Можно объявить неопределенную переменную. Когда мы попытаемся получить к нему доступ, результат будет неопределим.

var x; // Declaration
typeof x === 'undefined'; // Will return true

Переменная не может быть определена или объявлена. Результат не будет определен, если мы попытаемся сослаться на такую ​​переменную.

console.log(y);  // Output: Reference Error: y is not defined

Разница между неопределенным и не определенным

undefinedне определено Это работает аналогично тому, когда переменная объявлена ​​в коде, но ей не присвоено значение перед печатью. Это работает аналогично тому, когда мы пытаемся вызвать переменную, даже если мы ее не объявляли. Разница между неопределенными и не определенными в JavaScript



Изучите разработку полного стека — CodeSolutionStuff