タグ

ブックマーク / teramako.hatenadiary.org (3)

  • Generator のプロトタイプ - hogehoge @teramako

    904701 - Implement prototype madness for ES6 generators Firefox 26 (Nightly) で function * () { yield ... } な ECMAScript 6th にある Generator の構文が導入された。 ということで、やる気を出して、チョコチョコと調査。 まず、用語の定義 GeneratorFunctionインスタンス function *() { yield "OK"; } の様な関数オブジェクト GeneratorObject GeneratorFunctionから生成されたインスタンスオブジェクト [[prototype]] オブジェクトのプロトタイプチェーンとなる内部プロパティ // GeneratorFunction function * geneFunc () { yield "OK"

  • Node.compareDocumentPositionが素晴らしい - hogehoge @teramako

    と呟いていたら、 id:caisui さんが と教えてくれた。 広範囲にイベントを取得して、イベント発生元がどの要素に含まれるかで処理を変えたい時があって、そんな時は親ノードを辿って調べるという面倒なことをしていた。これとはおさらばしたいということで、compareDocumentPositionについて調べてみた。 Node.compareDocumentPosition - MDC Doc Center The return value is a bitmask with the following values: DOCUMENT_POSITION_DISCONNECTED = 0x01; DOCUMENT_POSITION_PRECEDING = 0x02; DOCUMENT_POSITION_FOLLOWING = 0x04; DOCUMENT_POSITION_CONTAINS

    Node.compareDocumentPositionが素晴らしい - hogehoge @teramako
  • Firefox 22(Nightly) で ArrowFunction が実装されたが、扱いが難しい - hogehoge @teramako

    Firefox Nightly (22) に ES6のArrow Function来たる - fragmentary ということで、早速試しているわけです。 基 var f1 = () => "OK"; // 引数なしの場合は、"()"が必須 var f2 = arg => arg + 1; // 引数一つなら、"()"は省略可 var f3 = (arg1, arg2) => arg1 + arg2; // 複数の引数の場合は"()"必須 var f4 = arg => { // ステートメントを入れる場合は "{}" でブロックを生成する if (arg) return "OK"; else return "NG"; }; // オブジェクトを返す場合は、ブロックと間違われないように // ({...}) と () 等を使用する var f5 = () => ({ a: "A", b

    Firefox 22(Nightly) で ArrowFunction が実装されたが、扱いが難しい - hogehoge @teramako
  • 1