Jintrick.netagenda2008年07月アーカイブ → 2008年07月25日

Firefox3ではJavascriptのジェネレータの扱いが変わった?

Firefox 3.0.1にて。

var g = function(){ while(1) yield 1; }.call();
for each(let i in g){ break; }
g.next(); // StopIteration例外

なんでやねん。なんかどう考えてもfor each文を抜けるときにジェネレータが凍結されずにcloseメソッドが呼ばれているだろこれ。Firefox2のときと挙動が違うというか、Pythonと違う。

こういうことをするならJavascript1.8でやってくれないかなあ。本気で迷惑なんだけど。

どうするか考え中。


webmaster@jintrick.net
公開: 2008年07月25日
カテゴリ: Firefox ,Javascript