Wikimedia list article
This article needs to be updated . Please help update this article to reflect recent events or newly available information. (June 2019 )
The following tables compare standards support for some notable JavaScript/ECMAScript engines used in web browsers .
Explanation of tables [ ]
See List of ECMAScript engines for a full list.
Values [ ]
These indicate the level of support for the given item in each engine. By default, the most recent version of the engine is implied. However, a specific version number can be listed; when this indicates full support, it's the initial version of the engine fully supporting the item.
Legend
Value
Meaning
Yes
Fully supported
No
Has never been supported
Partial
Only some values are supported
Incorrect
Not implemented correctly in all cases
Experimental
May be incomplete or buggy
Nightly build
Currently in development; full support is expected
Depends
Only supported for the specified conditions
Dropped
No longer supported
ECMAScript version support [ ]
Overview of ECMAScript version support
Browser engine
MSHTML
Gecko
WebKit
Presto
Blink
Corresponding JavaScript engine
JScript / Chakra
SpiderMonkey
JavaScriptCore
Linear B / Futhark / Carakan
V8
ECMAScript Edition 3
Yes
0.6
Yes
1.0
Yes
ECMAScript Edition 5
5.0
2.0
Partial
Yes
Yes
ECMAScript Edition 6
?
?
?
?
?
JavaScript 1.5 extensions
No
0.6
Yes
1.0
Yes
JavaScript 1.6 extensions (excluding E4X )
No
1.8
Partial
Partial
Partial
JavaScript 1.7 extensions
No
1.8.1
No
Partial
No
JavaScript 1.8 extensions
No
1.9
Partial
No
Partial
JavaScript 1.8.1 extensions
No
1.9.1
No
No
No
JScript .NET extensions
No
No
No
No
No
ActionScript extensions
No
No
No
No
No
E4X
No
Dropped[1]
No
No
No
Standard library [ ]
Parts of this article (those related to Several sections missing Blink) need to be updated . Please help update this article to reflect recent events or newly available information. (May 2020 )
Global object [ ]
Implementation of global objects
Global object
MSHTML
Gecko
WebKit
Presto
Blink
Value properties
NaN
4.0
0.6
Yes
Yes
Yes
Infinity
4.0
0.6
Yes
Yes
Yes
undefined
5.5
0.6
Yes
Yes
Yes
Function properties
eval(x)
3.0
0.6
Yes
Yes
Yes
parseInt(string [, radix])
3.0
0.6
Yes
Yes
Yes
parseFloat(string)
3.0
0.6
Yes
Yes
Yes
isNaN(number)
4.0
0.6
Yes
Yes
Yes
isFinite(number)
4.0
0.6
Yes
Yes
Yes
URI handling functions
decodeURI(encodedURI)
5.5
0.6
Yes
Yes
Yes
decodeURIComponent(encodedURIComponent)
5.5
0.6
Yes
Yes
Yes
encodeURI(uri)
5.5
0.6
Yes
Yes
Yes
encodeURIComponent(uriComponent)
5.5
0.6
Yes
Yes
Yes
Constructor properties
Object
4.0
Yes
Yes
Yes
Yes
Function
4.0
Yes
Yes
Yes
Yes
Array
4.0
Yes
Yes
Yes
Yes
String
3.0
Yes
Yes
Yes
Yes
Boolean
3.0
Yes
Yes
Yes
Yes
Number
3.0
Yes
Yes
Yes
Yes
Date
3.0
Yes
Yes
Yes
Yes
RegExp
4.0
Yes
Yes
Yes
Yes
Error
5.0
Yes
Yes
Yes
Yes
EvalError
5.0
Yes
Yes
Yes
Yes
RangeError
5.0
Yes
Yes
Yes
Yes
ReferenceError
5.0
Yes
Yes
Yes
Yes
SyntaxError
5.0
Yes
Yes
Yes
Yes
TypeError
5.0
Yes
Yes
Yes
Yes
URIError
5.0
Yes
Yes
Yes
Yes
Other properties
Math
3.0
Yes
Yes
Yes
Yes
Additional properties
escape(string)
3.0
Yes
Yes
Yes
Yes
unescape(string)
3.0
Yes
Yes
Yes
Yes
Object object [ ]
Implementation of object objects
Object object
MSHTML
Gecko
WebKit
Presto
Blink
Called as function
Object([value])
Yes
Yes
Yes
Yes
Yes
Called as constructor
new Object([value])
4.0
Yes
Yes
Yes
Yes
Properties
prototype
4.0
Yes
Yes
Yes
Yes
Properties of prototype
constructor
4.0
Yes
Yes
Yes
Yes
toString()
4.0
Yes
Yes
Yes
Yes
toLocaleString()
4.0
Yes
Yes
Yes
Yes
valueOf()
4.0
Yes
Yes
Yes
Yes
hasOwnProperty(V)
5.5
Yes
3
Yes
Yes
isPrototypeOf(V)
5.5
Yes
3
Yes
Yes
propertyIsEnumerable(V)
5.5
Yes
3
Yes
Yes
Function object [ ]
Implementation of function objects
Function object
MSHTML
Gecko
WebKit
Presto
Blink
Called as function
Function([[p1 [, p2 [, ...]],] body])
?
Yes
Yes
?
Yes
Called as constructor
new Function([[p1 [, p2 [, ...]],] body])
4.0
1.0
Yes
1.0
Yes
Properties
length
?
1.0
Yes
Yes
Yes
prototype
4.0
1.0
Yes
1.0
Yes
Properties of prototype
length
?
1.0
Yes
?
Yes
constructor
4.0
1.0
Yes
1.0
Yes
toString()
4.0
1.0
Yes
1.0
Yes
apply(thisArg, argArray)
4.0
1.0
Yes
1.0
Yes
call(thisArg [, arg1 [, arg2 [, ...]]])
4.0
1.0
Yes
1.0
Yes
Properties of instances
length
4.0
1.0
Yes
1.0
Yes
prototype
4.0
1.0
Yes
1.0
Yes
Array object [ ]
Implementation of array objects
Array object
MSHTML
Gecko
WebKit
Presto
Blink
Called as function
Array([item1 [, item2 [, ...]]])
Yes
Yes
Yes
Yes
Yes
Called as constructor
new Array([item1, item2 [, ...]])
4.0
1.0
Yes
1.0
Yes
new Array(len)
4.0
1.0
Yes
1.0
Yes
Properties
prototype
4.0
1.0
Yes
1.0
Yes
Properties of prototype
constructor
4.0
1.0
Yes
1.0
Yes
toString()
4.0
1.0
Yes
1.0
Yes
toLocaleString()
5.5
1.0
Yes
1.0
Yes
concat([item1 [, item2 [,...]]])
4.0
1.0
Yes
1.0
Yes
join(separator)
4.0
1.0
Yes
1.0
Yes
pop()
5.5
1.0
Yes
1.0
Yes
push([item1 [, item2 [,...]]])
5.5
1.0
Yes
1.0
Yes
reverse()
4.0
1.0
Yes
1.0
Yes
shift()
5.5
1.0
Yes
1.0
Yes
slice(start, end)
4.0
1.0
Yes
1.0
Yes
sort(comparefn)
4.0
1.0
Yes
1.0
Yes
splice(start, deleteCount [, item1 [, item2 [, ...]]])
5.5
1.0
Yes
1.0
Yes
unshift([item1 [, item2 [, ...]]])
5.5
1.0
Yes
1.0
Yes
indexOf(searchElement[, fromIndex])
9.0[2]
1.8
522
2.1
Yes
lastIndexOf(searchElement[, fromIndex])
1.8
522
2.1
Yes
filter(callback[, thisObject])
1.8
522
2.1
Yes
forEach(callback[, thisObject])
1.8
522
2.1
Yes
every(callback[, thisObject])
1.8
522
2.1
Yes
map(callback[, thisObject])
1.8
522
2.1
Yes
some(callback[, thisObject])
1.8
522
2.1
Yes
reduce(callback[, initialValue])
1.9
528
2.5.22
Yes
reduceRight(callback[, initialValue])
1.9
528
2.5.22
Yes
Properties of instances
length
4.0
1.0
Yes
1.0
Yes
String object [ ]
Implementation of string objects
String object
MSHTML
Gecko
WebKit
Presto
Blink
Called as function
String([value])
Yes
Yes
Yes
Yes
Yes
Called as constructor
new String([value])
3.0
1.0
Yes
1.0
Yes
Properties
prototype
4.0
1.0
Yes
1.0
Yes
fromCharCode([char0 [, char1 [, ...]]])
4.0
1.0
Yes
1.0
Yes
Properties of prototype
constructor
4.0
1.0
Yes
1.0
Yes
toString()
3.0
1.0
Yes
1.0
Yes
valueOf()
3.0
1.0
Yes
1.0
Yes
charAt(pos)
3.0
1.0
Yes
1.0
Yes
charCodeAt(pos)
5.5
1.0
Yes
1.0
Yes
concat([string1 [, string2 [, ...]]])
4.0
1.0
Yes
1.0
Yes
indexOf(searchString, position)
3.0
1.0
Yes
1.0
Yes
lastIndexOf(searchString, position)
3.0
1.0
Yes
1.0
Yes
localeCompare(that)
5.5
1.0
Yes
1.0
Yes
match(regexp)
4.0
1.0
Yes
1.0
Yes
replace(searchValue, replaceValue)
3.0
1.0
Yes
1.0
Yes
search(regexp)
4.0
1.0
Yes
1.0
Yes
slice(start, end)
4.0
1.0
Yes
1.0
Yes
split(separator, limit)
4.0
1.0
Yes
1.0
Yes
substring(start, end)
3.0
1.0
Yes
1.0
Yes
toLowerCase()
3.0
1.0
Yes
1.0
Yes
toLocaleLowerCase(comparefn)
3.0
1.0
Yes
1.0
Yes
toUpperCase()
3.0
1.0
Yes
1.0
Yes
toLocaleUpperCase()
3.0
1.0
Yes
1.0
Yes
Additional properties of prototype
substr(start, length)
4.0
1.0
Yes
1.0
Yes
Properties of instances
length
3.0
1.0
Yes
1.0
Yes
Boolean object [ ]
Implementation of Boolean objects
Boolean object
MSHTML
Gecko
WebKit
Presto
Blink
Called as function
Boolean([value])
Yes
Yes
Yes
Yes
Yes
Called as constructor
new Boolean([value])
3.0
Yes
Yes
Yes
Yes
Properties
prototype
4.0
Yes
Yes
Yes
Yes
Properties of prototype
constructor
4.0
Yes
Yes
Yes
Yes
toString()
4.0
Yes
Yes
Yes
Yes
valueOf()
4.0
Yes
Yes
Yes
Yes
Number object [ ]
Implementation of number objects
Number object
MSHTML
Gecko
WebKit
Presto
Called as function
Number([value])
?
Yes
Yes
?
Called as constructor
new Number([value])
3.0
1.0
Yes
1.0
Properties
prototype
4.0
1.0
Yes
1.0
MAX_VALUE
4.0
1.0
Yes
1.0
MIN_VALUE
4.0
1.0
Yes
1.0
NaN
4.0
1.0
Yes
1.0
NEGATIVE_INFINITY
4.0
1.0
Yes
1.0
POSITIVE_INFINITY
4.0
1.0
Yes
1.0
Properties of prototype
constructor
4.0
1.0
Yes
1.0
toString([radix])
4.0
1.0
Yes
1.0
toLocaleString()
5.5
1.0
Yes
1.0
valueOf()
4.0
1.0
Yes
1.0
toFixed(fractionDigits)
5.5
1.0
Yes
1.0
toExponential(fractionDigits)
5.5
1.0
Yes
1.0
toPrecision(precision)
5.5
1.0
Yes
1.0
Math object [ ]
Implementation of math objects
Math object
MSHTML
Gecko
WebKit
Presto
Value properties
E
3.0
1.0
Yes
1.0
LN10
3.0
1.0
Yes
1.0
LN2
3.0
1.0
Yes
1.0
LOG2E
3.0
1.0
Yes
1.0
LOG10E
3.0
1.0
Yes
1.0
PI
Yes
Yes
Yes
Yes
SQRT1_2
3.0
1.0
Yes
1.0
SQRT2
Yes
Yes
Yes
Yes
Function properties
abs(x)
3.0
1.0
Yes
1.0
acos(x)
3.0
1.0
Yes
1.0
asin(x)
3.0
1.0
Yes
1.0
atan(x)
3.0
1.0
Yes
1.0
atan2(y, x)
3.0
1.0
Yes
1.0
ceil(x)
3.0
1.0
Yes
1.0
cos(x)
3.0
1.0
Yes
1.0
exp(x)
3.0
1.0
Yes
1.0
floor(x)
3.0
1.0
Yes
1.0
log(x)
3.0
1.0
Yes
1.0
max([value1 [, value2 [, ...]]])
3.0
1.0
Yes
1.0
min([value1 [, value2 [, ...]]])
3.0
1.0
Yes
1.0
pow(x, y)
3.0
1.0
Yes
1.0
random()
3.0
1.0
Yes
1.0
round(x)
3.0
1.0
Yes
1.0
sin(x)
3.0
1.0
Yes
1.0
sqrt(x)
3.0
1.0
Yes
1.0
tan(x)
3.0
1.0
Yes
1.0
Date object [ ]
Implementation of date objects
Date object
MSHTML
Gecko
WebKit
Presto
Called as function
Date ([year [, month [, date [, hours [, minutes [, seconds [, ms ]]]]]]])
?
?
?
?
Called as constructor
new Date (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]])
4.0
1.0
Yes
1.0
new Date (value)
4.0
1.0
Yes
1.0
new Date ()
4.0
1.0
Yes
1.0
Properties
prototype
4.0
1.0
Yes
1.0
parse(string)
3.0
1.0
Yes
1.0
UTC (year, month [, date [, hours [, minutes [, seconds [, ms ]]]]])
3.0
1.0
Yes
1.0
Properties of prototype
constructor
4.0
1.0
Yes
1.0
toString()
4.0
1.0
Yes
1.0
toDateString()
4.0
1.0
Yes
1.0
toTimeString()
4.0
1.0
Yes
1.0
toLocaleString()
4.0
1.0
Yes
1.0
toLocaleDateString()
4.0
1.0
Yes
1.0
toLocaleTimeString()
4.0
1.0
Yes
1.0
valueOf()
4.0
1.0
Yes
1.0
getTime()
3.0
1.0
Yes
1.0
getFullYear()
4.0
1.0
Yes
1.0
getMonth()
3.0
1.0
Yes
1.0
getUTCMonth()
4.0
1.0
Yes
1.0
getDate()
3.0
1.0
Yes
1.0
getUTCDate()
4.0
1.0
Yes
1.0
getDay()
3.0
1.0
Yes
1.0
getUTCDay()
4.0
1.0
Yes
1.0
getHours()
3.0
1.0
Yes
1.0
getUTCHours()
4.0
1.0
Yes
1.0
getMinutes()
3.0
1.0
Yes
1.0
getUTCMinutes()
4.0
1.0
Yes
1.0
getSeconds()
3.0
1.0
Yes
1.0
getUTCSeconds()
4.0
1.0
Yes
1.0
getMilliseconds()
4.0
1.0
Yes
1.0
getUTCMilliseconds()
4.0
1.0
Yes
1.0
getTimezoneOffset()
4.0
1.0
Yes
1.0
setTime(time)
3.0
1.0
Yes
1.0
setMilliseconds(ms)
4.0
1.0
Yes
1.0
setUTCMilliseconds(ms)
4.0
1.0
Yes
1.0
setSeconds(sec [, ms])
3.0
1.0
Yes
1.0
setUTCSeconds(sec [, ms])
4.0
1.0
Yes
1.0
setMinutes(min [, sec [, ms]])
3.0
1.0
Yes
1.0
setUTCMinutes(min [, sec [, ms]])
4.0
1.0
Yes
1.0
setHours(hour [, min [, sec [, ms]]])
4.0
1.0
Yes
1.0
setUTCHours(hour [, min [, sec [, ms]]])
4.0
1.0
Yes
1.0
setDate(date)
4.0
1.0
Yes
1.0
setUTCDate(date)
4.0
1.0
Yes
1.0
setMonth(month [, date])
3.0
1.0
Yes
1.0
setUTCMonth(month [, date])
4.0
1.0
Yes
1.0
setFullYear(year [, month [, date]])
4.0
1.0
Yes
1.0
setUTCFullYear(year [, month [, date]])
4.0
1.0
Yes
1.0
toUTCString()
4.0
1.0
Yes
1.0
Additional properties of prototype
getYear()
3.0
1.0
Yes
1.0
setYear(year)
3.0
1.0
Yes
1.0
toGMTString()
4.0
1.0
Yes
1.0
RegExp object [ ]
Implementation of RegExp objects
RegExp object
MSHTML
Gecko
WebKit
Presto
Called as function
RegExp (pattern, flags)
?
?
?
?
Called as constructor
new RegExp (pattern, flags)
4.0
1.0
Yes
1.0
Properties
prototype
4.0
1.0
Yes
1.0
Properties of prototype
constructor
4.0
1.0
Yes
1.0
exec(string)
4.0
1.0
Yes
1.0
test(string)
4.0
1.0
Yes
1.0
toString()
4.0
1.0
Yes
1.0
Properties of instances
source
4.0
1.0
Yes
1.0
global
4.0
1.0
Yes
1.0
ignoreCase
5.5
1.0
Yes
1.0
multiline
5.5
1.0
Yes
1.0
lastIndex
4.0
1.0
Yes
1.0
Error object [ ]
Implementation of error objects
Error object
MSHTML
Gecko
WebKit
Presto
Called as function
Error (message)
?
?
?
?
Called as constructor
new Error (message)
5.0
1.0
Yes
1.0
Properties
prototype
5.0
1.0
Yes
1.0
Properties of prototype
constructor
5.0
1.0
Yes
1.0
name
5.5
1.0
Yes
1.0
message
5.5
1.0
Yes
1.0
toString()
5.0
1.0
Yes
1.0
NativeError objects [ ]
Implementation of NativeError objects
NativeError object
MSHTML
Gecko
WebKit
Presto
Called as function
EvalError (message)
?
1.0
Yes
?
RangeError (message)
?
1.0
Yes
?
ReferenceError (message)
?
1.0
Yes
?
SyntaxError (message)
?
1.0
Yes
?
TypeError (message)
?
1.0
Yes
?
URIError (message)
?
1.0
Yes
?
Called as constructor
new EvalError (message)
?
1.0
Yes
?
new RangeError (message)
?
1.0
Yes
?
new ReferenceError (message)
?
1.0
Yes
?
new SyntaxError (message)
?
1.0
Yes
?
new TypeError (message)
?
1.0
Yes
?
new URIError (message)
?
1.0
Yes
?
Properties
prototype
?
1.0
?
?
Properties of prototype
constructor
?
1.0
?
?
name
?
1.0
Yes
?
message
?
1.0
Yes
?
References [ ]
Further reading [ ]
External links [ ]
Webdevout – mostly covers Windows browsers. Extensive bug testing.