Skip to content Skip to sidebar Skip to footer

'undefined' - If It's Defined As A Primitive Value, What Is It Defined In Terms Of Its Value At The Memory Level?

I understand from MDN that 'undefined' is recognised as a primitive value, which is corroborated by the ES doco also stating that an 'undefined value' is a 'primitive value used wh

Solution 1:

I also understand even though the variable may not be assigned a value (i.e. an uninitialised variable), memory is still allocated for it during the creation of its execution context ('creation' phase) prior to execution happening. This explains why when we attempt to access the variable, we do not get a reference error - rather we just encounter 'undefined'.

No. An uninitialised variable is something different than a variable initialised with the value undefined. Have a look at this answer explaining the initialisation for various kinds of declarations.

What does this look like at the memory location of the variable?

It doesn't really matter how this is implemented. Every implementation may do it different, what matters are the observable effects in JS.

Is there actually a value at the allocated memory location/address of the variable, or is the value at the memory address empty?

Allocated memory always holds some value. It might be a value for which no representation exists in JS, though.


Post a Comment for "'undefined' - If It's Defined As A Primitive Value, What Is It Defined In Terms Of Its Value At The Memory Level?"