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 ...

Get Object-Oriented JavaScript - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.