The world after IE left.

This page is based on data from mdn/compat-data.
Chrome
Safari
Firefox
Edge
JavaScriptCSSHTMLAPIHTTPSVGWebExtensions
JavaScript
builtins
JavaScript
builtins
ArrayBuffer() constructor
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
DataView() constructor
JavaScript
builtins
JavaScript
builtins
Float32Array() constructor
JavaScript
builtins
Float64Array() constructor
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
Int16Array() constructor
JavaScript
builtins
Int32Array() constructor
JavaScript
builtins
Int8Array() constructor
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
JavaScript is a superset of JSON
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
Promise() constructor
all()
allSettled()
catch()
finally()
race()
reject()
resolve()
then()
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
Named capture groups
Unicode property escapes (\p{...})
JavaScript
builtins
Set() constructor
Key equality for -0 and 0
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
JavaScript
builtins
Uint16Array() constructor
JavaScript
builtins
Uint32Array() constructor
JavaScript
builtins
Uint8Array() constructor
JavaScript
builtins
Uint8ClampedArray() constructor
JavaScript
builtins
WeakMap() constructor
JavaScript
builtins
WeakSet() constructor
JavaScript
builtins
JavaScript
builtins
JavaScript
classes
JavaScript
classes
JavaScript
classes
JavaScript
functions
JavaScript
functions
Arrow functions
Trailing comma in parameters
JavaScript
functions
Default parameters
Destructured parameter with default value assignment
Parameters without defaults after default parameters
JavaScript
functions
Computed property names
JavaScript
functions
Method definitions
Async generator methods
Async methods
Generator methods are not constructable (ES2016)
JavaScript
functions
Rest parameters
Destructuring rest parameters
JavaScript
functions
Computed property names
JavaScript
grammar
Binary numeric literals (0b)
JavaScript
grammar
Numeric separators (1_000_000_000_000)
JavaScript
grammar
Octal numeric literals (0o)
JavaScript
grammar
Shorthand notation for object literals
JavaScript
grammar
Template literals
Escape sequences allowed in tagged template literals
JavaScript
grammar
Trailing commas
Trailing comma in function parameters
JavaScript
grammar
Unicode point escapes (\u{})
JavaScript
operators
async function expression
JavaScript
operators
async function* expression
JavaScript
operators
JavaScript
operators
JavaScript
operators
Destructuring assignment
Computed property names
Rest in arrays
Rest in objects
JavaScript
operators
Exponentiation (**)
JavaScript
operators
Exponentiation assignment (x **= y)
JavaScript
operators
function expression
Trailing comma in parameters
JavaScript
operators
function* expression
Trailing comma in parameters
JavaScript
operators
JavaScript
operators
import.meta
JavaScript
operators
new.target
JavaScript
operators
Object initializer
Computed property names
Shorthand method names
Shorthand property names
Spread properties
JavaScript
operators
Spread syntax (...)
Spread in array literals
Spread in function calls
Spread in object literals
JavaScript
operators
JavaScript
operators
JavaScript
operators
yield*
JavaScript
statements
async function statement
JavaScript
statements
async function* statement
JavaScript
statements
JavaScript
statements
default keyword with export
JavaScript
statements
for await...of
JavaScript
statements
for...of
async iterators
Closing iterators
JavaScript
statements
function statement
Trailing comma in parameters
JavaScript
statements
function* statement
IteratorResult object instead of throwing
Not constructable with new (ES2016)
Trailing comma in parameters
JavaScript
statements
JavaScript
statements
JavaScript
statements
try...catch
Optional catch binding