In this situation var foo;
Will "foo" point to somewhere in the memory that contains the value undefined
?
Does undefined
occupy memory in javascript?
Does undefined
mean that there is no memory address assigned to a specific label?
In this situation var foo;
Will "foo" point to somewhere in the memory that contains the value undefined
?
Does undefined
occupy memory in javascript?
Does undefined
mean that there is no memory address assigned to a specific label?
- What do you mean by "Will "foo" point to somewhere in the memory"? – Bergi Commented Aug 21, 2021 at 14:12
3 Answers
Reset to default 5There's two parts to your question. The variable itself and multiple copies of undefined
value.
First, variables can take space in memory. It's not always known if they do take space since pilers can optimize your code in a way that they might not do so (or even straight up removed).
As of the other part of your question. Per the specification there's only one undefined
value but the specification does not require the implementation to hold a unique representation of undefined
in memory. So any implementation can hold multiple copies of the value so long as the language semantics can be guaranteed.
Edit: Also, the specification does not specify its value representation in memory, so that's also an implementation detail.
Any kind of variable you create will occupy memory space, regardless if it was created with let
, const
or var
. When you do it, you're literally telling JS to reserve memory space because you will store values in that variable. undefined
is a value in JavaScript, therefore, yes, it does consume memory.
There are tests regarding performances between let
and var
that leads to some discussion about which is faster (see this stack post), and const
is remended for values you have that won't change.
Any variable you declare in javascript will be assigned to a memory location. if you don't initialize the variable while declaring, then it will be assigned to undefined
by Javascript
. which means you declared a variable and it's not been assigned yet.
undefined
is a value in javascript.
You can read here
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744789689a4593837.html
评论列表(0条)