Which one is best for declaring an array in Javascript?

Possible duplicate:
Create an empty object in JavaScript using {} or a new Object ()?

When I want to declare a new array, I use this notation

var arr = new Array();

But when testing on the Internet, for example, on jsbin, a warning signals me "Use literal record of array []."

I did not find a reason to avoid using the constructor. In something less effective than when used []? Or is it a bad practice?

Is there any good reason to use var arr = [];instead var arr = new Array();?

+5
source share
5 answers

var a = [], .

Array():

var a = new Array(5);     // an array pre-sized to 5 elements long
var b = new Array(5, 10); // an array with two elements in it

, new Array() !

[] ! Array , [].

[] {} Object().

+5

[]:

  • new Array(3) new Array(3,3)
  • .

:

var a = new Array(3);
var b = new Array(3,3);
Array = function () { return { length: "!" }; };
var c = new Array();
var d = [];
alert(a.length); // 3
alert(b.length); // 2
alert(c.length); // !
alert(d.length);​ // (still) 0​​​​​​​​

live - 4 !

+7

var arr = [];

0

javascript , .

var a = []; var o = new Array();

var o = {}; var o = new Object();

, new String("abc");, new Number(1); ..

0

JavaScript - , , #. JavaScript , #, .

//Bad way to declare objects and arrays
var person = new Object(), 
    keys = new Array();

, , , , , . JavaScript , .

.

//Preferred way to declare objects and arrays
var person = {}, 
    keys = [];

, , Object Literals .

//Preferred way to declare complex objects and arrays
var person = {
        firstName: "Elijah",
        lastName: "Manor",
        sayFullName: function() {
            console.log( this.firstName + " " + 
                this.lastName );
        }
    }, 
    keys = ["123", "676", "242", "4e3"];

, , . Boolean, Number, String Function. , , .

, , - , , , . JavaScript, Ya.

0

All Articles