ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    JavaScriptのモダンなOOP

    このエントリーを含むはてなブックマーク はてなブックマーク - JavaScriptのモダンなOOP あとで読む
    JavaScriptの学習で参考になる記事があった。

    newを封印して、JavaScriptでオブジェクト指向する(1) - 泥のように

    JavaScript標準のオブジェクト指向といえばnewやらprototypeやらを書く必要がありますが、これらは書くのが面倒臭い上に気をつけないといけない点がたくさんあります。JavaScript: The Good PartsでもBad Partsに選別されているほどです。
    ではどう書けばいいか。こんな補助関数を一つ定義してください。そしてnewを封印しましょう。
    これさえあればJavaScriptのオブジェクト指向なんて簡単です。

    /*
    * object - オブジェクトを作る
    * Object object(BaseObj [, mixinObj1 [, mixinObj2...]])
    */
    function object(o) {
     var f = object.f, i, len, n, prop;
     f.prototype = o;
     n = new f;
     for (i=1, len=arguments.length; i  for (prop in arguments[i])
       n[prop] = arguments[i][prop];
     return n;
    }
    object.f = function(){};

    クラスと書きましたが、JavaScriptにクラスはありません。この言葉は何度言っても言いすぎではないほどに重要です。
    もしJavaScriptの本で補足も何もなく「クラスを作ろう!」みたいなことが書いてあったら、それはJavaScriptを理解していない人が書いた本です。とっととゴミ箱へダンクしましょう。



    newを封印して、JavaScriptでオブジェクト指向する(2) - 泥のように

    ダックタイピングのススメ
    動的な言語で型判別をするときに使うべきなのはinstanceofではありません。ダックタイピングです。
    これはオブジェクトが必要な要素を全て持っているかどうかで判別するやり方です。

    オブジェクト指向はそこそこの規模にならないと使わないですが、うまく使えば1万行が1000行に収まったりすることもざらにあるので、テクニックとして覚えておくといいです。



    なるほどね~。そんな方法もあるんだ!
    もっと、JavaScriptを勉強して、自由自在に使えるようになりたい。

    JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティスJavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
    Douglas Crockford 水野 貴明

    オライリージャパン 2008-12-22
    売り上げランキング : 14564

    Amazonで詳しく見る
    by G-Tools

    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/644-c1256f96

    FC2Ad