Rhino 1.7 互換性メモ

  • Array/Stringのクラスメソッド
print(Array.every, Array.map, String.replace, [].reduce)
undefined undefined undefined undefined

未定義。従来通りcall/applyしたいときはprototypeか適当なインスタンスから呼ぶ必要あり。reduceがフライング実装されていたりもしない。

  • プロパティの順番
([h, i] = [{}, 0]).forEach.call('hoge', function(c){ h[c] = i++ })
print(uneval(h))
({o:1, e:3, g:2, h:0})

相変わらず保証されない。

F: 2.687 [ms/run]
E: 1.952 [ms/run]

やはりevalのほうが速い。ただし試行回数が増えると差が縮まる(原因不明)。