Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

最近JavaScriptを触ることが多いのですが、JavaScriptのプロトタイプについて調べてもすぐに忘れてしまうので、ちょっとまとめてみました。 プロトタイプベース プロトタイプベースってそもそも何だろうと。僕の理解ではこんな感じです。 オブジェクトの振る舞いはそのオブジェクト自身とそのオブジェクトが保持するプロトタイプオブジェクトによって決定される またプロトタイプオブジェクトもオブジェクトなので、その振る舞いも1.に従う 1.と2.よりオブジェクトの振る舞いはプロトタイプを連鎖的にたどることとなる(プロトタイプチェーン) オブジェクトは静的な構造と関連せず、自由にプロパティを上書き/追加/削除することができる 同じコンストラクタから生成されたとしても、プロパティが同じとは限らない 以下のリンクが参考になるかと。 http://sumim.no-ip.com:8080/wiki/4
JavaScriptのプロトタイプチェーンについて理解しようとしたのだけど、prototypeとか__proto__とかごちゃごちゃになって、色んなブログを読んでもなかなか理解しきれなくて悶々としていたのだが、図を書いたらパッと理解できた!以下、情報ソースはなるべくECMAScript仕様書(3rd)を元にするようにして書きました なぜ分かりづらいのか? そもそも、なぜJavaScriptのプロトタイプチェーンは自分にとってこうも分かりづらかったのだろうか?自分なりに分析してみると、まず、「似ているが違う用語が沢山ある」という点がある。ざっとあげただけでも、「prototypeと__proto__」「__proto__と[[Prototype]]」「FunctionとFunctionオブジェクト」などがある。そして次に、「入り組んだ構造が動的に変化する」という点がある。上記のように似たよう
ES5からFunction.prototype.bindが入りました. これに準ずるものは数々のFrameworkで提供され続けてきたので, あまり馴染みの無さはないのではないでしょうか. このFunction.ptototype.bindは実はとても面白いので. 結論から言えば, Function.prototype.bindはtarget functionのConstructに完全に移譲するのでConstructorの引数束縛が行えます. またConstructor callに対して配列を渡すapply形式のものといったapplyConstructorやcallConstructorをbindを使って実装することができます. 基本 Function.prototype.bindは基本的にはthisとargumentsに特定の値を束縛する関数です. bindは第一引数にthis, 次から
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く