タグ

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

  • constructor プロパティについて - hogehoge @teramako

    説明をつけておくと、constructor プロパティは、オブジェクト作成時に自動的に生成されるプロパティで、そのオブジェクトが生成されたときに使われたコンストラクタが参照されています。 ミックスインパターン new this.constructor() の利用 - わからん たまたま見つけたので引用するけど、何処か別のところでも似たような勘違いが書かれていたように思う。もしかすると、このように勘違いしている人は多いのかもしれない。 正しておきたいと思う次第。 間違っているのはconstructor プロパティは、オブジェクト作成時に自動的に生成されるプロパティという部分。 constructor プロパティが生成されるのは、Function オブジェクトが生成されたときです。 以下は、Function オブジェクトが作られる時の処理の流れの一部です。 Let proto be the r

    constructor プロパティについて - hogehoge @teramako
  • Firefox 13.0a1 (Nightly) で for-of ステートメントが実装されました - hogehoge @teramako

    Firefox 13.0a1 (Nightly 2012-02-09) あたりから、ES.next の新たな構文である、for-ofステートメントが追加されました。 Bug 699565 – Implement Harmony for-of loops harmony:iterators [ES Wiki] for...of - MDN この構文は、配列の様なオブジェクトに対して使えるもので、for-in 構文が key を取ってくるのに対して、for-of は value を得られるものとなります。 for (var item of ["a","b","c"]){ console.log(item); } // "a" // "b" // "c" 対象となるオブジェクト 配列の様なオブジェクトと書いたとおり、純粋な配列以外にも使えます。 Argumentsオブジェクト HTMLColle

    Firefox 13.0a1 (Nightly) で for-of ステートメントが実装されました - hogehoge @teramako
  • uncurryThis 関数 - hogehoge @teramako

    http://wiki.ecmascript.org/doku.php?id=conventions:safe_meta_programming にて大変有用な書き方を身に着けた。 Function.prototype.bindとFunction.prototype.callの黒魔術的なもの。 obj.hasOwnProperty("prop"); と書くところをcallで書くと var func = Object.prototype.hasOwnProperty; func.call(obj, "prop"); と書ける。さらにcallをbindしてみると var func2 = func.call.bind(func); func2(obj, "prop"); となる。さらに、bindをbindすると var func3 = func.bind.bind(func.call)(func

    uncurryThis 関数 - hogehoge @teramako
  • letへの異常な愛情、(ry - hogehoge @teramako

    JavaScript Advent Calendar 2011 (オレ標準コース) : ATND 2日目にチョンボをして申し訳ありませんでした。 7日目は1日目にconstさんがconstについて書いてくれたので僕はletで! ただし、ES.nextのletではなく、現状のMozilla JavaScript (mozjs と略すよ) の let について(部分部分でES.nextの話も含めるけど)。使い方、注意点等をば。 Mozilla JavaScript の let ES.next にも LetDeclarationがドラフトに入ってきてるけど、mozjs はもっと凄いぜ! って話。微妙な部分もあるけどね。 さて、let と言っても mozjs には幾つか種類がある。 let 文 (let statement) let 式 (let expression) let 定義 (let d

    letへの異常な愛情、(ry - hogehoge @teramako
  • cat コマンドでネコを走らせる - hogehoge @teramako

    というツイートが昨日RTで流れてきたので、面白いなと思ってやってみている。 https://github.com/teramako/scripts/blob/master/shell/cat.sh cat コマンドは来 concatenate をするコマンドである。ということで、これに反した場合にネコを出して矯正させようという趣旨である。単なる bash スクリプトである。~/bin/catとして放り込むのが良かろう。 C言語版、Perl版等のもうちょっと高級な言語での書き直しを望みます。(僕はCもPerlも得意じゃないので...) 標準入力がない、かつ、ファイルが2つ以上指定されていない 標準入力がある、かつ、ファイルが1つ以上指定されていない 「標準入力がない、かつ、ファイルが指定されない」に修正 場合にネコがでる。 ずさーーーーとネコが流れてきて 最後に と注意される仕様。 因みに

    cat コマンドでネコを走らせる - hogehoge @teramako
    Jxck
    Jxck 2011/12/08
    本物のぬこが走るのかと思った。。
  • ECMAScript 6th の構文をまとめてみた - hogehoge @teramako

    harmony:specification_drafts [ES Wiki] ECMAScript 6thのドラフト版が挙げられている。現在はSeptember 23, 2011のドラフトが最新で、このドラフトの構文部分のみを抜粋してHTML化してみた。 ECMAScript Syntax Grammar 6th Edition / Draft よろしければ、どうぞ。 構文上で、5thとの大きな違いは、 let, constによる変数、定数宣言の導入 AssignmentPatternやBindingPattern辺りが導入されている ...が導入されている 辺りでしょうか。 BindingPattern これは何かっていうと、オブジェクトや配列(Array)の中身の要素を直に変数に入れられるようになる。BindingPatternにはObjectBindingPatternとArrayB

    ECMAScript 6th の構文をまとめてみた - hogehoge @teramako
  • Scriptish (Greasemonkey フォーク版) キタ━━━ヽ(゚∀゚)ノ━ - hogehoge @teramako

    Scriptish Beta! A New Greasemonkey - Erik Vold's Blog Scriptish :: Add-ons for Firefox Home - scriptish - GitHub ついにというべきか何というべきか、Greasemonkeyのフォーク版が登場した。 因みに対象は Firefox 4.0beta5 〜 4.0beta7 彼曰く、 Greasemonkeyは大好きだ が、Firefox 1.5 をサポートするために新機能の追加ができなかった JavaScriptコードモジュール(JSM)とかね 複数ウィンドウを立ち上げる時や起動時にメモリを少なくパフォーマンス向上につながる 次のメジャーリリースである Greasemonkey 0.9 でやっとサポート対象の最小バージョンが 3.0 に上がる が、メンテナたちはバグフィックスとか最小限

  • 1