プリミティブ型とラッパークラス

javascriptで各プリミティブ型には対応する、ラッパークラスが存在する。

var a = 1;
alert(a);                 // 1
a.a = 2;                  // 内部的に (new Number(a)).a = 2
alert(a.a);               // undefined (内部的に alert((new Number(a)).a となるためundefined)
var b = new Number(10);
alert(b);                 // 10
b.b = 20
alert(b.b);               // 20

プリミティブ型(上記、数値型)の場合、プロパティーアクセスすると対応するラッパークラスのインスタンス(上記、Number型)が作られる。