タグ

ブックマーク / constellation.hatenablog.com (3)

  • JavaScript Syntax探訪 - 枕を欹てて聴く

    blogめったに書いてない... 2.5年で110件... 前々からJSのScannerを読んだりするのが楽しかったのですが, id:miya2000 さんからの「commentを削除するprogram」という話が出たときに, 結局JSのlexerというものは単体では生成できずParserと密着している(主にRegExpとRegExpとRegExpのせいです)ということがわかり, 自分でも書きたいという考えが浮かんできてC++でずっと書いていました. AST構築までできて, jqueryなどをparse成功 + json形式のtreeにシリアライズする程度になったのですが, せっかくなのでLLVMへのbridgeとか検討しています. LLVMおもしろいー. Constellation/iv · GitHub で, Constellation's gist: 387832 — Gist くら

    JavaScript Syntax探訪 - 枕を欹てて聴く
  • ES5, Property Descriptor解説 - 枕を欹てて聴く

    JavaScript Advent Calendar 2010 6日目のid:Constellationです. ECMAScript5になって大きく変更されたといえば, strict mode, early error, Object extras, そしてProperty Descriptorの概念です. ということで今回はES5 PropertyDescriptorについてまるっと分かってしまおうということで. Property Descriptorとは JavaScriptのObjectは事実上Hash Tableです. しかし, key -> value という対応でHash Tableに格納されているのかといえばそうではありません. なぜなら, EcmaScriptにはgetter / setterやattributeが存在するからです. // getter / setter v

    ES5, Property Descriptor解説 - 枕を欹てて聴く
  • Function.prototype.bindは何がいいのか - 枕を欹てて聴く

    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, 次から

    Function.prototype.bindは何がいいのか - 枕を欹てて聴く
  • 1