Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is "undefined x 1" in JavaScript?

I'm doing some small experiments based on this blog entry.

I am doing this research in Google Chrome's debugger and here comes the hard part.

What the heck is this?!

I get the fact that I can't delete local variables (since they are not object attributes). I get that I can 'read out' all of the parameters passed to a function from the array called 'arguments'. I even get it that I can't delete and array's element, only achieve to have array[0] have a value of undefined.

Can somebody explain to me what undefined x 1 means on the embedded image?

And when I overwrite the function foo to return the arguments[0], then I get the usual and 'normal' undefined.

This is only an experiment, but seems interresting, does anybody know what undefined x 1 refers to?

like image 951
benqus Avatar asked May 21 '12 10:05

benqus


People also ask

What is a undefined in JavaScript?

A variable that has not been assigned a value is of type undefined . A method or statement also returns undefined if the variable that is being evaluated does not have an assigned value. A function returns undefined if a value was not returned .

What is the result of the given statement in JavaScript 1 undefined 1?

undefined is not being converted to anything. You perform a + operation with operands 1 (Number) and undefined . The result of Number + undefined is not a number or NaN .

Is undefined the same as 0 JavaScript?

It's exactly the same. From your question, it seems a little bit like you're specifically looking for number elements, even NaN .


1 Answers

That seems to be Chrome's new way of displaying uninitialized indexes in arrays (and array-like objects):

> Array(100) [undefined × 100] 

Which is certainly better than printing [undefined, undefined, undefined,...] or however it was before.

Although, if there is only one undefined value, they could drop the x 1.

like image 107
Felix Kling Avatar answered Sep 23 '22 16:09

Felix Kling