JavaScriptの.lengthは不思議

var huge = [];

console.log(huge.length); // 0
huge.length = 5;
console.log(huge.length); // 5


var foo = '彩りましょう、食卓を!'

console.log(foo.length); // 11
foo.length = 3;
console.log(foo.length); // 11



var fuge = [10,11,12,13,14];

console.log(fuge.length); // 5
fuge.length = 3;
console.log(fuge); // [10,11,12]
console.log(fuge.length); // 3


var muge = [0,1,2];

console.log(muge); // [0,1,2]
console.log(muge.length); // 3
muge.length = 5;
console.log(muge); // [0,1,2]
console.log(muge.join(',')); // 0,1,2,,
console.log(muge.length); // 5

他にも色々あるようですお


参考
JavaScriptの配列をも〜っと深く理解する:lengthの不思議な動作 - builder
配列の .lengthは代入できる(JavaScript おれおれ Advent Calendar 2011 – 10日目) | Ginpen.com
5種類の .length(JavaScript おれおれ Advent Calendar 2011 – 11日目) | Ginpen.com