Array
The Array
constructor creates array objects:
> var a = new Array(1, 2, 3);
This is the same as the array literal:
> var a = [1, 2, 3]; //recommended
When you pass only one numeric value to the Array
constructor, it's assumed to be the array length:
> var un = new Array(3); > un.length; 3
You get an array with the desired length and if you ask for the value of each of the array elements, you get undefined
:
> un; [undefined, undefined, undefined]
There is a subtle difference between an array full of elements and array with no elements, but just length:
> '0' in a; true > '0' in un; false
This difference in the Array()
constructor's behavior when you specify one versus more parameters can lead to unexpected behavior. For example, the following use of the array literal is valid:
> var a = [3.14]; > a; [3.14]
However, passing the floating-point number to the Array
constructor...