タグ

ブックマーク / d.hatena.ne.jp/mooz (2)

  • JavaScript の分割代入まとめ - mooz deceives you

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

  • js2-mode.el をいくつかの新しい JavaScript の記法に対応させた - mooz deceives you

    JavaScript の奇妙な記法 最近の JavaScript (Firefox 3.5 以降) では, 色々と奇妙な記法が可能となっている. 例えば, 次のようなもの. let obj = {a: 10, b: 20}; let {a: a, b: b} = obj; // 分割代入の一種 let {a, b} = obj; // 上の省略記法 let [a, b] = [1, 2]; といった分割代入をご存知の方は多いのではないかと思う. 上記の記法はそれの一種とされていて, オブジェクトから特定プロパティの値を持ってくるときに有用. コードゴルフをたしなむ方々や, 某邪悪なアドオンのプラグインを書かれている方々の間では, 空気のような存在となっているらしい. 自分はこの記法を数ヶ月ほど前に知り, それからずっとこの書き方に憧れては, とある理由の為に使うことができずもどかしい思いを

  • 1