frontend - Does "undefined" occupy memory in javascript? - Stack Overflow

In this situation var foo;Will "foo" point to somewhere in the memory that contains the valu

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?

Share Improve this question asked Aug 21, 2021 at 13:38 Haitham6373Haitham6373 1,2992 gold badges10 silver badges11 bronze badges 1
  • What do you mean by "Will "foo" point to somewhere in the memory"? – Bergi Commented Aug 21, 2021 at 14:12
Add a ment  | 

3 Answers 3

Reset to default 5

There'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条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信