ECMAScript 5 and Chromium/V8
Page not found | Qt Blogの補足とV8版です。赤くなってるのはChrome5で使えるやつです。
Object.getPrototypeOf
Object.getOwnPropertyDescriptor
Object.keys
Object.defineProperty | Object.defineProperties
Object.create
Object.getOwnPropertyNames
JSON
Date.now
Date.prototype.toISOString
Date.prototype.toJSON
String.prototype.trim
“Array extras”
Array.prototype.{indexOf,lastIndexOf,every,some,forEach,map,filter,reduce,reduceRight}
- Chrome
- reduce,reduceRight は http://codereview.chromium.org/88022 で、それ以外はChrome1リリース当初からサポート
そういえば、Array.isArrayも実装済み http://codereview.chromium.org/271072
Features not implemented in JavaScriptCore/V8
Object.seal, Object.isSealed
Object.freeze, Object.isFrozen
Object.preventExtensions, Object.isExtensible
Function.prototype.bind
Strict mode
実装はまだ
Strict modeは新春特別企画:2010年のJavaScript:「これまで」と「これから」|gihyo.jp … 技術評論社で少し取り上げたのでそちらを。
V8/Chromiumはメーリングリストにデザインドキュメント、Issue、codereviewにcommit logと情報がすごく多いんだけど、それぞれに情報が分散してしまっていて案外追いにくいのが難点。
V8はJavaScriptCoreとの互換性を意識しているので、JavaScriptCoreで実装後、V8も追従というケースがほとんどです。実際、WebKit側で実装されたら割とすぐにV8/Chromium側でも動きがあります。E4XとかもしもWebKitが実装すればV8も追従するんだろうなぁ。
ちなみに、今リリースされているChrome devで使えるのはObject.createまでで、Chrome4の正式リリースまでにObject.getPrototypeOfあたりが入るかどうかといった感じです。