O'Reilly logo

Object-Oriented JavaScript - Second Edition by Stoyan Stefanov, Kumar Chetan Sharma

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required