ECMAScript 5 compatibility table

http://kangax.github.io/es5-compat-table/#Object.keys

 This browser IE 9IE 10, 11FF 4+SF 5.1SF 6,7WebKitCH 13-16CH 19+OP 12OP 12.10, 15Konq 4.9BESENRhino 1.7
§Object.createc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.definePropertyc Yes   Yes Yes Yes Yes Yes Yes[2] Yes Yes Yes Yes No Yes Yes
§Object.definePropertiesc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.getPrototypeOfc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Object.keysc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Object.sealc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.freezec Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.preventExtensionsc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.isSealedc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.isFrozenc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.isExtensiblec Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.getOwnPropertyDescriptorc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Object.getOwnPropertyNamesc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
 
§Date.prototype.toISOStringc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes
§Date.nowc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.isArrayc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§JSONc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Function.prototype.bindc Yes   Yes Yes Yes No[4] Yes Yes Yes Yes Yes Yes No Yes Yes
§String.prototype.trimc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
 
§Array.prototype.indexOfc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.lastIndexOfc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.everyc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.somec Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.forEachc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.mapc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.filterc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.reducec Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.prototype.reduceRightc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
 
§Getter in property initializerc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Setter in property initializerc Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
 
§Property access on strings[5]c Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Reserved words as property names[6]c Yes   Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes No
 
§Zero-width chars in identifiersc Yes   Yes Yes Yes[7] No Yes Yes No Yes No Yes No Yes Yes
§Immutable undefinedc Yes   Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes
§Strict modec Yes   No Yes[8] Yes Yes Yes Yes Yes Yes Yes Yes No Yes No

[1] In Internet Explorer 8 Object.defineProperty only accepts DOM objects (MSDN reference).

[2] In some versions of WebKit Object.defineProperty does not work with DOM objects.

[3] In Internet Explorer 8 Object.getOwnPropertyDescriptor only accepts DOM objects (MSDN reference).

[4] Function.prototype.bind is now supported in Safari 5.1.4

[5] For example: "foobar"[3] === "b"

[6] For example: ({ if: 1 })

[7] Firefox 4 & 5 fail this test

[8] IE10 PP2 has a bug with strict mode which makes the following expression "fail", even though strict mode is more or less supported: (function(){ "use strict"; return !this })()

posted @ 2014-02-14 10:02  a fine day  阅读(472)  评论(0)    收藏  举报