JavaScript version information

This documentation is archived and is not being maintained.

JavaScript support varies across Microsoft Edge, Microsoft Store apps, and different document modes of Internet Explorer (IE). For more information about IE document code versioning, see Defining Document Compatibility.

The following table summarizes the JavaScript support across Internet Explorer, Microsoft Edge, and Microsoft Store apps.

Important

Experimental features (enabled from about:flags) are indicated by Exp. In some cases, Store apps support varies between Windows 8 (v8) and Windows 10 (v10) apps, and Windows desktop (Win) and Windows Phone (Phone), as indicated.

Language element Quirks, IE 6 Standards, IE 7 Standards IE 8 Standards IE 9 Standards IE 10 Standards IE 11 Standards Microsoft Edge Store apps
__proto__ Property (Object) N N N N Y Y v8 (Win): N
v8.1 (Win): Y
v8.1 (Phone): Y
$1...$9 Properties (RegExp) Y Y Y Y Y Y Y
0n Property Y Y Y Y Y Y Y
abs Function Y Y Y Y Y Y Y
acos Function Y Y Y Y Y Y Y
acosh Function N N N N N Y v8.1: N
v10: Y
ActiveXObject Object Y Y Y Y Y Y N
Addition Assignment Operator (+=) Y Y Y Y Y Y Y
Addition Operator (+) Y Y Y Y Y Y Y
apply Method Y Y Y Y Y Y Y
arguments Object Y Y Y Y Y Y Y
arguments Property Y Y Y Y Y Y Y
Array Object Y Y Y Y Y Y Y
Array.from Function (Array) N N N N N N v8.1: N
v10: Y
Array.isArray Function N N Y Y Y Y Y
Array.of Function (Array) N N N N N N v8.1: N
v10: Y
ArrayBuffer Object N N N Y Y Y Y
Functions N N N N N N v8.1: N
v10: Y
asin Function Y Y Y Y Y Y Y
Object.assign Function (Object) N N N N N N v8.1: N
v10: Y
Assignment Operator (=) Y Y Y Y Y Y Y
atan Function Y Y Y Y Y Y Y
atan2 Function Y Y Y Y Y Y Y
atEnd Method Y Y Y Y Y Y N
bind Method N N Y Y Y Y Y
Bitwise AND Assignment Operator (&=) Y Y Y Y Y Y Y
Bitwise AND Operator (&) Y Y Y Y Y Y Y
Bitwise Left Shift Operator (<<) Y Y Y Y Y Y Y
Bitwise NOT Operator (~) Y Y Y Y Y Y Y
Bitwise OR Assignment Operator (|=) Y Y Y Y Y Y Y
Bitwise OR Operator (|) Y Y Y Y Y Y Y
Bitwise Right Shift Operator (>>) Y Y Y Y Y Y Y
Bitwise YOR Assignment Operator (^=) Y Y Y Y Y Y Y
Bitwise YOR Operator (^) Y Y Y Y Y Y Y
blink Method Y Y Y Y Y Y Y
bold Method Y Y Y Y Y Y Y
Boolean Object Y Y Y Y Y Y Y
break Statement Y Y Y Y Y Y Y
call Method Y Y Y Y Y Y Y
callee Property Y Y Y Y Y Y Y
caller Property Y Y Y Y Y Y Y
catch Statement Y Y Y Y Y Y Y
ceil Function Y Y Y Y Y Y Y
charAt Method Y Y Y Y Y Y Y
charCodeAt Method Y Y Y Y Y Y Y
class Statement N N N N N Exp. v8.1: N
v10: Exp.
codePointAt Method (String) N N N N N Y v8.1: N
v10: Y
Comma Operator (,) Y Y Y Y Y Y Y
// (Single-line Comment Statement) Y Y Y Y Y Y Y
/*..*/ (Multiline Comment Statement) Y Y Y Y Y Y Y
Comparison Operators Y Y Y Y Y Y Y
compile Method Y Y Y Y Y Y Y
concat Method (Array) Y Y Y Y Y Y Y
concat Method (String) Y Y Y Y Y Y Y
Conditional Compilation Y Y Y Y N N N
Conditional Compilation Variables Y Y Y Y N N N
Conditional (Ternary) Operator (?:) Y Y Y Y Y Y Y
constructor Property Y Y Y Y Y Y Y
const Statement N N N N Y Y v8 (Win): N
v8.1 (Win): Y
v8.1 (Phone): Y
continue Statement Y Y Y Y Y Y Y
cos Function Y Y Y Y Y Y Y
create Function N N Y Y Y Y Y
DataView Object N N N Y Y Y Y
Date Object Y Y Y Y Y Y Y
Debug Object Y Y Y Y Y Y Y
Debug.setNonUserCodeExceptions Property N N N Y Y Y Y
Debug.setNonUserCodeExceptions Property N N N Y Y Y Y
debugger Statement Y Y Y Y Y Y Y
decodeURI Function Y Y Y Y Y Y Y
DecodeURIComponent Function Y Y Y Y Y Y Y
Decrement Operator (--) Y Y Y Y Y Y Y
Functions N N N N N Exp. v8.1: N
v10: Exp.
defineProperties Function N Y* Y Y Y Y Y
defineProperty Function N Y* Y Y Y Y Y
delete Operator Y Y Y Y Y Y Y
description Property Y Y Y Y Y Y Y
dimensions Method Y Y Y Y Y Y Y
Division Assignment Operator (/=) Y Y Y Y Y Y Y
Division Operator (/) Y Y Y Y Y Y Y
do...while Statement Y Y Y Y Y Y Y
E Constant Y Y Y Y Y Y Y
encodeURI Function Y Y Y Y Y Y Y
encodeURI Component Function Y Y Y Y Y Y Y
entries Method (Array) N N N N N N v8.1: N
v10: Y
Enumerator Object Y Y Y Y Y Y N
Number Constants N N N N N N v8.1: N
v10: Y
Equality Operator (==) Y Y Y Y Y Y Y
Error Object Y Y Y Y Y Y Y
stack Property (Error) N N N Y Y Y Y
stackTraceLimit Property (Error) N N N Y Y Y Y
escape Function Y Y Y Y Y Y Y
eval Function Y Y Y Y Y Y Y
exec Method Y Y Y Y Y Y Y
every Method N N Y Y Y Y Y
exp Function Y Y Y Y Y Y Y
fill Method (Array) N N N N N N v8.1: N
v10: Y
filter Method N N Y Y Y Y Y
finally Statement Y Y Y Y Y Y Y
findIndex Method (Array) N N N N N N v8.1: N
v10: Y
fixed Method Y Y Y Y Y Y Y
Float32Array Object N N N Y Y Y Y
Float64Array Object N N N Y Y Y Y
floor Function Y Y Y Y Y Y Y
fontcolor Method Y Y Y Y Y Y Y
fontsize Method Y Y Y Y Y Y Y
for Statement Y Y Y Y Y Y Y
forEach Method N N Y Y Y Y Y
for...in Statement Y Y Y Y Y Y Y
for...of Statement N N N N N Y v8.1: N
v10: Y
freeze Function N N Y Y Y Y Y
fromCharCode Function Y Y Y Y Y Y Y
fromCodePoint Function N N N N N Y v8.1: N
v10: Y
Function Object Y Y Y Y Y Y Y
function Statement Y Y Y Y Y Y Y
Generators N N N N N Exp. v8.1: N
v10: Exp.
getDate Method Y Y Y Y Y Y Y
getDay Method Y Y Y Y Y Y Y
getFullYear Method Y Y Y Y Y Y Y
getHours Method Y Y Y Y Y Y Y
getItem Method Y Y Y Y Y Y Y
getMilliseconds Method Y Y Y Y Y Y Y
getMinutes Method Y Y Y Y Y Y Y
getMonth Method Y Y Y Y Y Y Y
GetObject Function Y Y N N N N N
getOwnPropertyDescriptor Function N Y* Y Y Y Y Y
getOwnPropertyNames Function N N Y Y Y Y Y
getPrototypeOf Function N N Y Y Y Y Y
getSeconds Method Y Y Y Y Y Y Y
getTime Method Y Y Y Y Y Y Y
getTimezoneOffset Method Y Y Y Y Y Y Y
getUTCDate Method Y Y Y Y Y Y Y
getUTCDay Method Y Y Y Y Y Y Y
getUTCFullYear Method Y Y Y Y Y Y Y
getUTCHours Method Y Y Y Y Y Y Y
getUTCMilliseconds Method Y Y Y Y Y Y Y
getUTCMinutes Method Y Y Y Y Y Y Y
getUTCMonth Method Y Y Y Y Y Y Y
getUTCSeconds Method Y Y Y Y Y Y Y
getVarDate Method Y Y Y Y Y Y N
getYear Method Y Y Y Y Y Y Y
Global Object Y Y Y Y Y Y Y
global Property Y Y Y Y Y Y Y
Greater than Operator (>) Y Y Y Y Y Y Y
Greater than or equal to Operator (>=) Y Y Y Y Y Y Y
hasOwnProperty Method Y Y Y Y Y Y Y
HTML Tag Methods Y Y Y Y Y Y Y
hypot Function N N N N N Y v8.1: N
v10: Y
Identity Operator (===) Y Y Y Y Y Y Y
if...else Statement Y Y Y Y Y Y Y
ignoreCase Property Y Y Y Y Y Y Y
imul Function N N N N N Y v8.1: N
v10: Y
In Operator Y Y Y Y Y Y Y
includes Method (String) N N N N N Y v8.1: N
v10: Y
Increment Operator (++) Y Y Y Y Y Y Y
index Property Y Y Y Y Y Y Y
indexOf Method (Array) N N Y Y Y Y Y
indexOf Method (String) Y Y Y Y Y Y Y
Inequality Operator (!=) Y Y Y Y Y Y Y
Infinity Constant Y Y Y Y Y Y Y
input Property ($_) Y Y Y Y Y Y Y
instanceof Operator Y Y Y Y Y Y Y
Int8Array Object N N N Y Y Y Y
Int16Array Object N N N Y Y Y Y
Int32Array Object N N N Y Y Y Y
Intl.Collator Object N N N N Y Y v8 (Win): N
v8.1 (Win): Y
v8.1 (Phone): Y
Intl.DateTimeFormat Object N N N N Y Y v8: N
v8.1: Y
Intl.NumberFormat Object N N N N Y Y v8: N
v8.1: Y
isFinite Function Y Y Y Y Y Y Y
isArray Function N N Y Y Y Y Y
IsExtensible Function N N Y Y Y Y Y
isFrozen Function N N Y Y Y Y Y
isInteger Function N N N N N Y v8.1: N
v10: Y
isNaN Function Y Y Y Y Y Y Y
isNaN Function (Number) N N N N N Y v8.1: N
v10: Y
ISO Date Format N N Y Y Y Y Y
IsPrototypeOf Method Y Y Y Y Y Y Y
isSealed Function N N Y Y Y Y Y
italics Method Y Y Y Y Y Y Y
Iterators N N N N N Y v8.1: N
v10: Y
item Method Y Y Y Y Y Y Y
join Method Y Y Y Y Y Y Y
JSON Object N Y Y Y Y Y Y
keys Function N N Y Y Y Y Y
keys Method (Array) N N N N N Y v8.1: N
v10: Y
Labeled Statement Y Y Y Y Y Y Y
lastIndex Property Y Y Y Y Y Y Y
lastIndexOf Method (Array) N N Y Y Y Y Y
lastIndexOf Method (String) Y Y Y Y Y Y Y
lastMatch Property ($&) Y Y Y Y Y Y Y
lastParen Property ($+) Y Y Y Y Y Y Y
lbound Method Y Y Y Y Y Y Y
leftContext Property ($') Y Y Y Y Y Y Y
Left Shift Assignment Operator (<<=) Y Y Y Y Y Y Y
length Property (Arguments) Y Y Y Y Y Y Y
length Property (Array) Y Y Y Y Y Y Y
length Property (Function) Y Y Y Y Y Y Y
length Property (String) Y Y Y Y Y Y Y
Less than Operator (<) Y Y Y Y Y Y Y
Less than or equal to Operator (<=) Y Y Y Y Y Y Y
let Statement N N N N Y Y v8: N
v8.1: Y
link Method Y Y Y Y Y Y Y
LN2 Constant Y Y Y Y Y Y Y
LN10 Constant Y Y Y Y Y Y Y
localeCompare Method Y Y Y Y Y Y Y
log Function Y Y Y Y Y Y Y
LOG2E Constant Y Y Y Y Y Y Y
LOG10E Constant Y Y Y Y Y Y Y
Logical AND Operator (&&) Y Y Y Y Y Y Y
Logical NOT Operator (!) Y Y Y Y Y Y Y
Logical OR Operator (||) Y Y Y Y Y Y Y
map Method N N Y Y Y Y Y
Map Object N N N N Y Y v8: N
v8.1: Y
match Method Y Y Y Y Y Y Y
Math Object Y Y Y Y Y Y Y
max Function Y Y Y Y Y Y Y
MAX_VALUE Constant Y Y Y Y Y Y Y
message Property Y Y Y Y Y Y Y
min Function Y Y Y Y Y Y Y
MIN_VALUE Constant Y Y Y Y Y Y Y
Remainder Assignment Operator (%=) Y Y Y Y Y Y Y
Remainder Operator (%) Y Y Y Y Y Y Y
moveFirst Method Y Y Y Y Y Y Y
moveNext Method Y Y Y Y Y Y Y
multiline Property Y Y Y Y Y Y Y
Multiplication Assignment Operator (*=) Y Y Y Y Y Y Y
Multiplication Operator (*) Y Y Y Y Y Y Y
name Property Y Y Y Y Y Y Y
NaN Constant (Global) Y Y Y Y Y Y Y
NaN Constant (Number) Y Y Y Y Y Y Y
NEGATIVE_INFINITY Constant Y Y Y Y Y Y Y
new Operator Y Y Y Y Y Y Y
Nonidentity Operator (!==) Y Y Y Y Y Y Y
now Function N N Y Y Y Y Y
Number Object Y Y Y Y Y Y Y
number Property Y Y Y Y Y Y Y
Object Object Y Y Y Y Y Y Y
Operator Precedence Y Y Y Y Y Y Y
Date.parse Function Y Y Y Y Y Y Y
JSON.parse Function N Y Y Y Y Y Y
parseFloat Function Y Y Y Y Y Y Y
parseInt Function Y Y Y Y Y Y Y
PI Constant Y Y Y Y Y Y Y
pop Method Y Y Y Y Y Y Y
POSITIVE_INFINITY Constant Y Y Y Y Y Y Y
pow Function Y Y Y Y Y Y Y
preventExtensions Function N N Y Y Y Y Y
Promise Object N N N N N Y v8.1: N
v10: Y
prototype Property Y Y Y Y Y Y Y
propertyIsEnumerable Method Y Y Y Y Y Y Y
Proxy Object N N N N N Y v8.1: N
v10: Y
push Method Y Y Y Y Y Y Y
random Function Y Y Y Y Y Y Y
raw Function N N N N N Y v8.1: N
v10: Y
reduce Method N N Y Y Y Y Y
reduceRight Method N N Y Y Y Y Y
RegExp Object Y Y Y Y Y Y Y
Regular Expression Object Y Y Y Y Y Y Y
Regular Expression Syntax Y Y Y Y Y Y Y
Regular Expression /y flag N N N N N Exp. v8.1: N
v10: Exp.
repeat Method (String) N N N N N Y v8.1: N
v10: Y
replace Method Y Y Y Y Y Y Y
Functions N N N N N N v8.1: N
v10: Y
return Statement Y Y Y Y Y Y Y
reverse Method Y Y Y Y Y Y Y
rightContext Property ($') Y Y Y Y Y Y Y
Right Shift Assignment Operator (>>=) Y Y Y Y Y Y Y
round Function Y Y Y Y Y Y Y
ScriptEngine Function Y Y Y Y Y Y Y
ScriptEngineBuildVersion Function Y Y Y Y Y Y Y
ScriptEngineMajorVersion Function Y Y Y Y Y Y Y
ScriptEngineMinorVersion Function Y Y Y Y Y Y Y
seal Function N N Y Y Y Y Y
search Method Y Y Y Y Y Y Y
Set Object N N N N Y Y v8: N
v8.1: Y
setDate Method Y Y Y Y Y Y Y
setFullYear Method Y Y Y Y Y Y
setHours Method Y Y Y Y Y Y Y
setMilliseconds Method Y Y Y Y Y Y Y
setMinutes Method Y Y Y Y Y Y Y
setMonth Method Y Y Y Y Y Y Y
setSeconds Method Y Y Y Y Y Y Y
setTime Method Y Y Y Y Y Y Y
setUTCDate Method Y Y Y Y Y Y Y
setUTCFullYear Method Y Y Y Y Y Y Y
setUTCHours Method Y Y Y Y Y Y Y
setUTCMilliseconds Method Y Y Y Y Y Y Y
setUTCMinutes Method Y Y Y Y Y Y Y
setUTCMonth Method Y Y Y Y Y Y Y
setUTCSeconds Method Y Y Y Y Y Y Y
setYear Method Y Y Y Y Y Y Y
shift Method Y Y Y Y Y Y Y
sin Function Y Y Y Y Y Y Y
slice Method (Array) Y Y Y Y Y Y Y
slice Method (String) Y Y Y Y Y Y Y
small Method Y Y Y Y Y Y Y
some Method N N Y Y Y Y Y
sort Method Y Y Y Y Y Y Y
source Property Y Y Y Y Y Y Y
splice Method Y Y Y Y Y Y Y
split Method Y Y Y Y Y Y Y
Functions N N N N N Y v8.1: N
v10: Y
sqrt Function Y Y Y Y Y Y Y
SQRT1_2 Constant Y Y Y Y Y Y Y
SQRT2 Constant Y Y Y Y Y Y Y
use strict Directive N N N Y Y Y Y
strike Method Y Y Y Y Y Y Y
String Object Y Y Y Y Y Y Y
JSON.stringify Function N Y Y Y Y Y Y
sub Method Y Y Y Y Y Y Y
substr Method Y Y Y Y Y Y Y
substring Method Y Y Y Y Y Y Y
Subtraction Assignment Operator (-=) Y Y Y Y Y Y Y
Subtraction Operator (-) Y Y Y Y Y Y Y
sup Method Y Y Y Y Y Y Y
switch Statement Y Y Y Y Y Y Y
Symbol Object N N N N N Y v8.1: N
v10: Y
tan Function Y Y Y Y Y Y Y
Template strings N N N N N Y v8.1: N
v10: Y
test Method Y Y Y Y Y Y Y
this Statement Y Y Y Y Y Y Y
throw Statement Y Y Y Y Y Y Y
toArray Method Y Y Y Y Y Y Y
toDateString Method Y Y Y Y Y Y Y
toExponential Method Y Y Y Y Y Y Y
toFixed Method Y Y Y Y Y Y Y
toGMTString Method Y Y Y Y Y Y Y
toISOString Method N N Y Y Y Y Y
toJSON Method N Y Y Y Y Y Y
toLocaleDateString Method Y Y Y Y Y Y Y
toLocaleLowercase Method Y Y Y Y Y Y Y
toLocaleString Method Y Y Y Y Y Y Y
toLocaleTimeString Method Y Y Y Y Y Y Y
toLocaleUppercase Method Y Y Y Y Y Y Y
toLowerCase Method Y Y Y Y Y Y Y
toPrecision Method Y Y Y Y Y Y Y
toString Method Y Y Y Y Y Y Y
toTimeString Method Y Y Y Y Y Y Y
toUpperCase Method Y Y Y Y Y Y Y
toUTCString Method Y Y Y Y Y Y Y
trim Method N N Y Y Y Y Y
try Statement Y Y Y Y Y Y Y
typeof Operator Y Y Y Y Y Y Y
ubound Method Y Y Y Y Y Y Y
Uint8Array Object N N N Y Y Y Y
Uint16Array Object N N N Y Y Y Y
Uint32Array Object N N N Y Y Y Y
Uint8ClampedArray Object N N N N Y Y v8: No
v8.1 (Win): Yes
v8.1 (Phone): No
v10: Y
Unary Negation Operator (-) Y Y Y Y Y Y Y
undefined Constant Y Y Y Y Y Y Y
unescape Function Y Y Y Y Y Y Y
Unicode code point escape characters N N N N N Y v8.1: N
v10: Y
unshift Method Y Y Y Y Y Y Y
Unsigned Right Shift Assignment Operator (>>>=) Y Y Y Y Y Y Y
Unsigned Right Shift Operator (>>>) Y Y Y Y Y Y Y
use strict Directive N N N Y Y Y Y
UTC Function Y Y Y Y Y Y Y
valueOf Method Y Y Y Y Y Y Y
values Method (Array) N N N N N Y v8.1: N
v10: Y
var Statement Y Y Y Y Y Y Y
VBArray Object Y Y Y Y Y Y N
void Operator Y Y Y Y Y Y Y
WeakMap Object N N N N Y Y v8: N
v8.1: Y
WeakSet Object N N N N N Y v8.1: N
v10: Y
while Statement Y Y Y Y Y Y Y
WinRTError Object N N N Y Y Y Y
with Statement Y Y Y Y Y Y Y
write Function Y Y Y Y Y Y Y
writeln Function Y Y Y Y Y Y Y

* Supports DOM objects but not user-defined objects. The enumerable and configurable attributes can be specified, but they are not used.