タグ

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

  • iv / lv5, ECMA262 5.1th full support - 枕を欹てて聴く

    https://github.com/Constellation/iv iv / lv5というECMA262 5.1th完全準拠を目指したengineを書いておりました (highly inspired from V8, JSC) で, もうほぼ仕様準拠しておりました, が, 正規表現のみJSCREを使っていて, そこだけECMA262と挙動が異なっていることがあり, 「ぐぬぬ」と言っていました. JSCREとは, 昔V8やJSCが使っていたものでIrregexpやYarrに取って代わられる前のもので, この間DartのVM見ていると, libjscreをcompileしていました. おかえりJSCRE! ちなみにJSCREはもともとPCREをWebKitさんがforkして別物に書き換えちゃったものです. ですが, この度一念発起してRegExp Runtime, AeroHand (so

    iv / lv5, ECMA262 5.1th full support - 枕を欹てて聴く
  • 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は何がいいのか - 枕を欹てて聴く
  • 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解説 - 枕を欹てて聴く
  • Re-Implement ECMA262 5th Engine@Firefox Developers Conference 2010 - 枕を欹てて聴く

    LTで話してきました. Constなんとか Constellation です. Firefox Developers Conference, 素晴らしい方々とお会いできて大変楽しかったです. ありがとうございました. Re-Implement ECMA262 5th Engine - Constellation Scorpius これが当日のLTの資料です. 言い訳タイムとしては, 4分になったので, 技術的なこと含めてある程度話すには衝撃的な早口と冗長なslideの吹っ飛ばししかないなと決意したというのが結論です. 結果非常に分かりづらい形になってしまって申し訳ないです. 資料なのですが, もともと5分でしゃべるためにかなり端折っていて, しかもさらに端折ったので, 例えばECMAScript strict modeの違反のexampleが6例中の1例しか紹介出来ていなかったりします.

    Re-Implement ECMA262 5th Engine@Firefox Developers Conference 2010 - 枕を欹てて聴く
  • 1