愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

ES5 features on iOS/Android's default browser

iOS, Androidのめぼしいバージョンのデフォルトブラウザについて、ECMAScript 5 compatibility table を使ってES5の対応度合いを調べました。既にありそうだなーと思いつつパッと見当たらなかったので。
どれもエミュレータで調べたものですし、特にAndroidについてはメーカーが手を入れてヘンテコリンなことになっている可能性も結構あるので、目安程度に。

全てのiOSデバイスが6.0以上、Androidデバイスが4.1以上になればstrict mode含めてやりたい放題(かも?)、ということが分かりますね。いつになることやら。

feature/os version ios-4.3.2 ios-5.0 ios-5.1 ios-6.0 android-1.6 android-2.1 android-2.3.3 android-3.0 android-4.0.2 android-4.1.1
Object.create yes yes yes yes no no yes yes yes yes
Object.defineProperty yes yes yes yes no no yes yes yes yes
Object.defineProperties yes yes yes yes no no yes yes yes yes
Object.getPrototypeOf yes yes yes yes no yes yes yes yes yes
Object.keys yes yes yes yes no no yes yes yes yes
Object.seal no yes yes yes no no no no yes yes
Object.freeze no yes yes yes no no no no yes yes
Object.preventExtensions no yes yes yes no no no no yes yes
Object.isSealed no yes yes yes no no no no yes yes
Object.isFrozen no yes yes yes no no no no yes yes
Object.isExtensible no yes yes yes no no no no yes yes
Object.getOwnPropertyDescriptor yes yes yes yes no no yes yes yes yes
Object.getOwnPropertyNames yes yes yes yes no no yes yes yes yes
Date.prototype.toISOString yes yes yes yes no yes yes yes yes yes
Date.now yes yes yes yes yes yes yes yes yes yes
Array.isArray yes yes yes yes no no yes yes yes yes
JSON yes yes yes yes no yes yes yes yes yes
Function.prototype.bind no no no yes no no no no yes yes
String.prototype.trim yes yes yes yes no no yes yes yes yes
Array.prototype.indexOf yes yes yes yes yes yes yes yes yes yes
Array.prototype.lastIndexOf yes yes yes yes yes yes yes yes yes yes
Array.prototype.every yes yes yes yes yes yes yes yes yes yes
Array.prototype.some yes yes yes yes yes yes yes yes yes yes
Array.prototype.forEach yes yes yes yes yes yes yes yes yes yes
Array.prototype.map yes yes yes yes yes yes yes yes yes yes
Array.prototype.filter yes yes yes yes yes yes yes yes yes yes
Array.prototype.reduce yes yes yes yes no yes yes yes yes yes
Array.prototype.reduceRight yes yes yes yes no yes yes yes yes yes
Getter in property initializer yes yes yes yes yes yes yes yes yes yes
Setter in property initializer yes yes yes yes yes yes yes yes yes yes
Property access on strings yes yes yes yes yes yes yes yes yes yes
Reserved words as property names no yes yes yes no no no yes yes yes
Zero-width chars in identifiers no no no yes no no no no no yes
Strict mode no yes yes yes no no no yes no yes