タグ

jsとオブジェクト指向に関するlax34のブックマーク (2)

  • newを封印するべき4つの理由

    ちょっと勢いに任せて書いちゃったので攻撃的な文章になってます。。 すごくわかりやすい解説記事を頂いたので、こちらも必読です。 new を不当に貶める陰謀と JavaScript におけるクラスの継承構造の話 - vivid memo (追記:2011/5/15) 前の記事「newを封印して、JavaScriptでオブジェクト指向する」が思いのほか反響が大きかったので、調子に乗って補足を書いてみますよ。 ブコメへの返信 「無用な複雑化に見える。」「俺俺オブジェクト指向な気がする。」といったご意見もいただいたんですが、普通たった10行の関数でオレオレオブジェクト指向なんて作れないですよ…。JavaScriptの内部機構をほとんどそのまま使っているからこそ、この行数で済むのです。 それに、このプロトタイプ的継承の考え方をDouglas Crockfordが編み出したのは、もう5年も前の話です。E

    newを封印するべき4つの理由
  • newを封印して、JavaScriptでオブジェクト指向する(2)

    前回の続きです。サンプルコードは前回から続いていると思ってください。 privateは諦めましょう 親のメソッドを呼ぶ コンストラクタ instanceofに対応する ダックタイピングのススメ 今回もobject関数を使うので再掲載。 /* * 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<len; ++i) for (prop in arguments[i]) n[prop] = arguments[i][prop]; return n; } ob

    newを封印して、JavaScriptでオブジェクト指向する(2)
  • 1