幻の ECMAScript 4th 幻となった ECMAScript 4th のドラフトを眺めていたところ, p.33 に Destructuring assignment and binding (分割代入, 分割束縛) という項目を発見した. 分割代入に関しては JavaScript 1.7 (Firefox などが用いる SpiderMonkey や Rhino に実装済み) から使用が可能であるため, ご存知の方も多いのではないかと思う. 「そういえば詳しい仕様は見たことがなかったな」と軽い気持ちで読み進めていたところ, そこに述べられていることが Haskell や OCaml など関数型言語におけるパターンマッチと同等であると分かり, 驚いた. 例えば, 分割代入においては次のように deep なパターンが利用可能であると書かれている. let { x: {a, b}, y: