やりたいこと JavaScript (ECMAScript) 上で、haXeなどでやっているような、 パラメータつき列挙データ定義 定義列挙データごとによる振り分け制御 を実現します。 haXeでのパラメータ化enumが具体的にどういうものかは、 http://d.hatena.ne.jp/bellbind/20060213/1139802435 などにサンプルを書いたことがあります。 この機能の直接のルーツは、MLやHaskellのような関数型言語で良く見る、代数データ型宣言(data type)とパターンマッチング(case of)です。enumのパラメータ化とswitchの拡張は、この言語機能の主要素の、手続き型言語への穏やかな導入として使われ始めています。 http://research.microsoft.com/~akenn/generics/gadtoop.pdf 利用コード