Array.new

「new」は予約語だった。
Array.neww = function(len, val) {
  var arr, i, undefined;
  if (typeof len !== 'number') { throw new TypeError('"' + len + '" is a not number'); }
  if (len < 0) { throw new RangeError('invalid array length'); }
  arr = new Array(len);
  if (val === undefined) { return arr; }
  for (i = 0; i < len; ++i) {
    arr[i] = typeof val === 'function' ? val(i) : val;
  }
  return arr;
};
Array.neww(3, 'foo');  // => ['foo', 'foo', 'foo']

Array.neww(3, function(n) { return 'hoge' + n; });  // => ['hoge0', 'hoge1', 'hoge2']

// JavaScript 1.8 feature
Array.neww(3, function(n) 'hoge' + n);  // => ['hoge0', 'hoge1', 'hoge2']