I agree that
var a = new Array(1,2,3,4,5);
is an old construct and should be replaced by
var a = [1,2,3,4,5];<p>but the form<p>var a = new Array(10);<p>can be very effective when you need an array with n elements and you are not in a position to .push() new ones in - you just need those elements to be there.<p>No confusion here - just lots of helpful language features.