CommentsJavaScriptはprototypeベースのオブジェクト指向言語なんだぜー、ということに慣れてきたところ、「prototypeベースの」という部分を忘れてはまった。{this.toys.push(name);}}まず、こんな感じで、toysプロパティと、addToyメソッドを持ったBoxクラスを作ったつもりになる。インスタンスを作るぜ。Box;おもちゃを入れるぜ。1つだけ入れたつもりが、なぜか2個に...魔法の箱だぁ。参照型の場合、コピるのはあくまでも「参照」だけで、参照してる先まではコピらないってコトかな。a」とだけしてる感じ。(newが具体的に何をしてるかはこちら)なので逆に、数値とか文字列とか、プリミティブ型は問題無い。型のうちの一つの構成要素である。プリミティブ値は言語実装の最低レベルにおいて直接表されるデータである。序列のないプロパティの集合体で、それぞれのプロパティがプリミティブ値やオブジェクト、関数を含む。オブジェクトのプロパティに格納された関数はメソッドと呼ばれる。http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/4_Overview.htmlこんな感じ。この問題を避けるには、コンストラクタ内で新しいオブジェクトを参照するようにしてやれば、OK。{this.toys.push(name);}}初期化はコンストラクタでしようぜ、という感じ。タイマーイヤホン対応。