Time to Stable

For a given set of browsers, what APIs are in all of them and how many days it take for the API to land in the first browser to the last.

Example Comparisons
Browsers
Features

Summary

A count of the number of APIs that landed in A first and B last.
Last in FirefoxLast in Safari
First in Firefox 593
First in Safari 478

Average time for an API to become available across Firefox and Safari

1071 APIs took an average of 522.37 days to become available to use.

API breakdown:

Average time to landing by year of first landing

If a feature landed in the earliest browser in 20XX it took Y days on average to become available in the last browser (when considering Firefox and Safari). TTA (time to available).
JS APIsJS TTA
2003 286517.01
2004 321207.34
2005 131624.08
2008 41733.50
2009 5150.00
2010 7504.00
2011 84624.25
2012 27962.44
2013 70791.21
2014 93617.87
2015 80389.81
2016 57136.16
2017 33356.88
2018 23382.09
2019 34505.32
2020 74296.62
2021 45409.36
2022 25406.48
2023 40448.25
2024 30119.30
2025 970.11

The Tortoise and the Hare

There is a natural tension on the web with respect to browser engines. Every engine has their own set of priorities which define the level of investment that they choose to make and on which areas they choose to make it.

A developer naturally wants their experiences to be available to the widest audience possible and these differing priorities create an unevenness on the platform (a lumpiness) making it harder for developers to build experiences that work everywhere.

This section highlights where browsers are pushing and pulling on the platform.

Sprinters

This table is designed to show which browsers are pushing on the platform the most.

Adding features to quickly is not always desired because developers are unlikely to adopt those features in their sites or apps.

For a given year, if a feature landed in Browser X first, how many days it take on average to be available in Firefox and Safari. TTA (time to available).
Year JSJS TTA
2003
  Safari 286517.01
2004
  Firefox 321207.34
2005
  Firefox 9696.00
  Safari 43712.25
2008
  Firefox 41733.50
2009
  Safari 322.00
  Firefox 2342.00
2010
  Safari 7504.00
2011
  Firefox 47304.47
  Safari 371030.46
2012
  Firefox 24985.46
  Safari 3778.33
2013
  Firefox 59750.31
  Safari 111010.64
2014
  Firefox 90632.32
  Safari 3184.33
2015
  Firefox 72402.79
  Safari 8273.00
2016
  Firefox 31108.94
  Safari 26168.62
2017
  Firefox 30351.77
  Safari 3408.00
2018
  Firefox 17294.00
  Safari 6631.67
2019
  Firefox 32533.31
  Safari 257.50
2020
  Firefox 73299.73
  Safari 170.00
2021
  Firefox 28139.54
  Safari 17853.76
2022
  Firefox 2289.50
  Safari 23416.65
2023
  Safari 34508.09
  Firefox 6109.17
2024
  Firefox 28125.89
  Safari 227.00
2025
  Safari 215.00
  Firefox 785.86

Plodders

This table is designed to show which browsers are pulling on the platform the most.

For a feature that first landed in year X, how many days did it take on average for the last browser to catch up across Firefox and Safari. TTA (time to available).
Year JS countJS TTA
2003
  Firefox 286517.01
2004
  Safari 321207.34
2005
  Safari 9696.00
  Firefox 43712.25
2008
  Safari 41733.50
2009
  Firefox 322.00
  Safari 2342.00
2010
  Firefox 7504.00
2011
  Safari 47304.47
  Firefox 371030.46
2012
  Safari 24985.46
  Firefox 3778.33
2013
  Safari 59750.31
  Firefox 111010.64
2014
  Safari 90632.32
  Firefox 3184.33
2015
  Safari 72402.79
  Firefox 8273.00
2016
  Safari 31108.94
  Firefox 26168.62
2017
  Safari 30351.77
  Firefox 3408.00
2018
  Safari 17294.00
  Firefox 6631.67
2019
  Safari 32533.31
  Firefox 257.50
2020
  Safari 73299.73
  Firefox 170.00
2021
  Safari 28139.54
  Firefox 17853.76
2022
  Safari 2289.50
  Firefox 23416.65
2023
  Firefox 34508.09
  Safari 6109.17
2024
  Safari 28125.89
  Firefox 227.00
2025
  Firefox 215.00
  Safari 785.86

Stable APIs

Below is a list of features that are in Firefox and Safari

Raw Data

Quick Links:

JS Data

API First Browser Date Last Browser Date Days Notes
javascript.builtins.AggregateError 📋Firefox7/28/2020 Safari9/16/202050
javascript.builtins.AggregateError.AggregateError 📋Firefox7/28/2020 Safari9/16/202050
javascript.builtins.AggregateError.errors 📋Firefox7/28/2020 Safari9/16/202050
javascript.builtins.AggregateError.serializable_object Firefox7/26/2022 Safari9/18/2023419
Chrome: AggregateError serializes to the Error type, without additional properties.Chrome Android: AggregateError serializes to the Error type, without additional properties.Edge: AggregateError serializes to the Error type, without additional properties.Firefox: AggregateError serializes to the AggregateError type, with properties name, message, cause, and errors.Firefox for Android: AggregateError serializes to the AggregateError type, with properties name, message, cause, and errors.Quest Browser: AggregateError serializes to the Error type, without additional properties.Opera: AggregateError serializes to the Error type, without additional properties.Opera Android: AggregateError serializes to the Error type, without additional properties.Samsung Internet: AggregateError serializes to the Error type, without additional properties.WebView Android: AggregateError serializes to the Error type, without additional properties.
javascript.builtins.Array 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.@@iterator 📋Firefox2/24/2015 Safari9/20/2016574
Firefox: A placeholder property named @@iterator is used.Firefox: A placeholder property named iterator is used.Firefox for Android: A placeholder property named @@iterator is used.Firefox for Android: A placeholder property named iterator is used.
javascript.builtins.Array.@@species 📋Firefox8/2/2016 Safari9/20/201649
javascript.builtins.Array.@@unscopables 📋Firefox8/2/2016 Safari9/20/201649
javascript.builtins.Array.Array 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.at 📋Firefox7/13/2021 Safari3/14/2022244
javascript.builtins.Array.concat 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.copyWithin 📋Firefox9/2/2014 Safari9/30/2015393
javascript.builtins.Array.entries 📋Firefox3/18/2014 Safari10/16/2014212
javascript.builtins.Array.every 📋Firefox11/29/2005 Safari10/26/2007696
javascript.builtins.Array.fill 📋Firefox7/22/2014 Safari10/16/201486
javascript.builtins.Array.filter 📋Firefox11/29/2005 Safari10/26/2007696
javascript.builtins.Array.find 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Array.findIndex 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Array.findLast 📋Safari3/14/2022 Firefox8/23/2022162
javascript.builtins.Array.findLastIndex 📋Safari3/14/2022 Firefox8/23/2022162
javascript.builtins.Array.flat 📋Firefox9/5/2018 Safari9/17/201812
javascript.builtins.Array.flatMap 📋Firefox9/5/2018 Safari9/17/201812
javascript.builtins.Array.forEach 📋Firefox11/29/2005 Safari10/26/2007696
javascript.builtins.Array.from 📋Firefox9/2/2014 Safari9/30/2015393
javascript.builtins.Array.fromAsync 📋Safari3/27/2023 Firefox7/4/202399
javascript.builtins.Array.includes 📋Safari9/30/2015 Firefox12/15/201576
javascript.builtins.Array.indexOf 📋Firefox11/29/2005 Safari10/26/2007696
javascript.builtins.Array.isArray 📋Safari6/7/2010 Firefox3/22/2011288
javascript.builtins.Array.join 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.keys 📋Firefox3/18/2014 Safari10/16/2014212
javascript.builtins.Array.lastIndexOf 📋Firefox11/29/2005 Safari10/26/2007696
javascript.builtins.Array.length 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.map 📋Firefox11/29/2005 Safari10/26/2007696
javascript.builtins.Array.of 📋Firefox10/29/2013 Safari9/30/2015701
javascript.builtins.Array.pop 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.push 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.reduce 📋Firefox6/17/2008 Safari6/8/2009356
javascript.builtins.Array.reduceRight 📋Firefox6/17/2008 Safari6/8/2009356
javascript.builtins.Array.reverse 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.shift 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.slice 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.some 📋Firefox11/29/2005 Safari10/26/2007696
javascript.builtins.Array.sort 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.sort.stable_sorting Firefox6/17/2008 Safari3/27/20173205
javascript.builtins.Array.splice 📋Safari6/23/2003 Firefox11/9/2004505
Internet Explorer: From Internet Explorer 5.5 through 8, all elements of the array will not be deleted if deleteCount is omitted. This behavior was fixed in Internet Explorer 9.
javascript.builtins.Array.toLocaleString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.toLocaleString.locales_parameter Safari10/22/2013 Firefox3/7/20171232
Deno: Only the locale data for en-US is available.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Array.toLocaleString.options_parameter Safari10/22/2013 Firefox3/7/20171232
javascript.builtins.Array.toReversed 📋Safari9/12/2022 Firefox7/4/2023295
javascript.builtins.Array.toSorted 📋Safari9/12/2022 Firefox7/4/2023295
javascript.builtins.Array.toSpliced 📋Safari9/12/2022 Firefox7/4/2023295
javascript.builtins.Array.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.unshift 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Array.values 📋Safari9/30/2015 Firefox5/9/2018952
javascript.builtins.Array.with 📋Safari9/12/2022 Firefox7/4/2023295
javascript.builtins.ArrayBuffer 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.ArrayBuffer.@@species 📋Firefox8/2/2016 Safari9/20/201649
javascript.builtins.ArrayBuffer.ArrayBuffer 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.ArrayBuffer.ArrayBuffer.maxByteLength_option 📋Safari3/27/2023 Firefox7/9/2024470
javascript.builtins.ArrayBuffer.byteLength 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.ArrayBuffer.detached 📋Firefox1/23/2024 Safari3/5/202442
javascript.builtins.ArrayBuffer.isView 📋Safari10/22/2013 Firefox4/29/2014189
javascript.builtins.ArrayBuffer.maxByteLength 📋Safari3/27/2023 Firefox7/9/2024470
javascript.builtins.ArrayBuffer.resizable 📋Safari3/27/2023 Firefox7/9/2024470
javascript.builtins.ArrayBuffer.resize 📋Safari3/27/2023 Firefox7/9/2024470
javascript.builtins.ArrayBuffer.slice 📋Safari7/20/2011 Firefox4/24/2012279
Firefox: The non-standard ArrayBuffer.slice() method has been removed in Firefox 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.Firefox for Android: The non-standard ArrayBuffer.slice() method has been removed in Firefox for Android 53 (but the standardized version ArrayBuffer.prototype.slice() is kept.
javascript.builtins.ArrayBuffer.transfer 📋Firefox1/23/2024 Safari3/5/202442
javascript.builtins.ArrayBuffer.transferToFixedLength 📋Firefox1/23/2024 Safari3/5/202442
javascript.builtins.AsyncFunction 📋Firefox3/7/2017 Safari3/27/201720
javascript.builtins.AsyncFunction.AsyncFunction 📋Firefox3/7/2017 Safari3/27/201720
javascript.builtins.AsyncGenerator 📋Firefox8/8/2017 Safari9/17/2018405
javascript.builtins.AsyncGenerator.next 📋Firefox8/8/2017 Safari9/17/2018405
javascript.builtins.AsyncGenerator.return 📋Firefox8/8/2017 Safari9/17/2018405
javascript.builtins.AsyncGenerator.throw 📋Firefox8/8/2017 Safari9/17/2018405
javascript.builtins.AsyncGeneratorFunction 📋Firefox8/8/2017 Safari9/17/2018405
javascript.builtins.AsyncGeneratorFunction.AsyncGeneratorFunction 📋Firefox8/8/2017 Safari9/17/2018405
javascript.builtins.AsyncIterator 📋Firefox11/14/2017 Safari4/12/2018149
javascript.builtins.AsyncIterator.@@asyncIterator 📋Firefox11/14/2017 Safari4/12/2018149
javascript.builtins.Atomics 📋Firefox6/30/2020 Safari12/13/2021531
Safari: Before Safari 16.4, Atomics is gated behind COOP/COEP. For more detail, read Making your website "cross-origin isolated" using COOP and COEP.Safari on iOS: Before Safari on iOS 16.4, Atomics is gated behind COOP/COEP. For more detail, read Making your website "cross-origin isolated" using COOP and COEP.WebView on iOS: Before WebView on iOS 16.4, Atomics is gated behind COOP/COEP. For more detail, read Making your website "cross-origin isolated" using COOP and COEP.
javascript.builtins.Atomics.add 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.and 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.compareExchange 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.exchange 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.isLockFree 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.load 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.notify 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.or 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.pause 📋Safari3/31/2025 Firefox4/1/20251
javascript.builtins.Atomics.store 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.sub 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.wait 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.Atomics.waitAsync 📋Safari3/27/2023 Firefox11/11/2025960
Chrome: The Atomics.waitAsync() method never times out. See bug 40742782.Chrome Android: The Atomics.waitAsync() method never times out. See bug 40742782.Edge: The Atomics.waitAsync() method never times out. See bug 40742782.Quest Browser: The Atomics.waitAsync() method never times out. See bug 40742782.Opera Android: The Atomics.waitAsync() method never times out. See bug 40742782.WebView Android: The Atomics.waitAsync() method never times out. See bug 40742782.
javascript.builtins.Atomics.xor 📋Firefox6/30/2020 Safari12/13/2021531
javascript.builtins.BigInt 📋Firefox7/9/2019 Safari9/16/2020435
javascript.builtins.BigInt.BigInt 📋Firefox7/9/2019 Safari9/16/2020435
javascript.builtins.BigInt.asIntN 📋Firefox7/9/2019 Safari9/16/2020435
javascript.builtins.BigInt.asUintN 📋Firefox7/9/2019 Safari9/16/2020435
javascript.builtins.BigInt.toLocaleString 📋Firefox7/9/2019 Safari9/16/2020435
javascript.builtins.BigInt.toLocaleString.locales_parameter Firefox10/22/2019 Safari9/16/2020330
Deno: Only the locale data for en-US is available.
javascript.builtins.BigInt.toLocaleString.options_parameter Firefox10/22/2019 Safari9/16/2020330
javascript.builtins.BigInt.toString 📋Firefox7/9/2019 Safari9/16/2020435
javascript.builtins.BigInt.valueOf 📋Firefox7/9/2019 Safari9/16/2020435
javascript.builtins.BigInt64Array 📋Firefox7/9/2019 Safari9/20/2021804
javascript.builtins.BigInt64Array.BigInt64Array 📋Firefox7/9/2019 Safari9/20/2021804
javascript.builtins.BigUint64Array 📋Firefox7/9/2019 Safari9/20/2021804
javascript.builtins.BigUint64Array.BigUint64Array 📋Firefox7/9/2019 Safari9/20/2021804
javascript.builtins.Boolean 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Boolean.Boolean 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Boolean.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Boolean.valueOf 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.DataView 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.DataView 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.DataView.sharedarraybuffer_support Firefox7/28/2020 Safari12/13/2021503
javascript.builtins.DataView.buffer 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.byteLength 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.byteOffset 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.getBigInt64 📋Firefox7/9/2019 Safari9/20/2021804
javascript.builtins.DataView.getBigUint64 📋Firefox7/9/2019 Safari9/20/2021804
javascript.builtins.DataView.getFloat16 📋Firefox8/6/2024 Safari12/11/2024127
javascript.builtins.DataView.getFloat32 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.getFloat64 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.getInt16 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.getInt32 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.getInt8 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.getUint16 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.getUint32 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.getUint8 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.setBigInt64 📋Firefox7/9/2019 Safari9/20/2021804
javascript.builtins.DataView.setBigUint64 📋Firefox7/9/2019 Safari9/20/2021804
javascript.builtins.DataView.setFloat16 📋Firefox8/6/2024 Safari12/11/2024127
javascript.builtins.DataView.setFloat32 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.setFloat64 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.setInt16 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.setInt32 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.setInt8 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.setUint16 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.setUint32 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.DataView.setUint8 📋Safari7/20/2011 Firefox8/28/2012405
javascript.builtins.Date 📋Safari6/23/2003 Firefox11/9/2004505
Internet Explorer: The ISO8601 Date Format is not supported in Internet Explorer 8 or earlier.
javascript.builtins.Date.@@toPrimitive 📋Firefox1/26/2016 Safari9/20/2016238
javascript.builtins.Date.Date 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.UTC 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.UTC.optional_monthIndex Firefox3/22/2011 Safari3/27/20172197
javascript.builtins.Date.getDate 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getDay 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getFullYear 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getHours 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getMilliseconds 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getMinutes 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getMonth 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getSeconds 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getTime 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getTimezoneOffset 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getUTCDate 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getUTCDay 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getUTCFullYear 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getUTCHours 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getUTCMilliseconds 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getUTCMinutes 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getUTCMonth 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getUTCSeconds 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.getYear 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.now 📋Firefox11/9/2004 Safari6/8/20091672
javascript.builtins.Date.parse 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.parse.iso_8601 Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Date.setDate 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setFullYear 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setHours 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setMilliseconds 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setMinutes 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setMonth 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setSeconds 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setTime 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setUTCDate 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setUTCFullYear 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setUTCHours 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setUTCMilliseconds 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setUTCMinutes 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setUTCMonth 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setUTCSeconds 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.setYear 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.toDateString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.toGMTString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.toISOString 📋Firefox11/9/2004 Safari6/8/20091672
javascript.builtins.Date.toJSON 📋Firefox11/9/2004 Safari6/8/20091672
javascript.builtins.Date.toLocaleDateString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.toLocaleDateString.iana_time_zone_names Safari10/22/2013 Firefox3/7/20171232
javascript.builtins.Date.toLocaleDateString.locales_parameter Firefox4/29/2014 Safari9/20/2016875
Deno: Only the locale data for en-US is available.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Date.toLocaleDateString.options_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Date.toLocaleString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.toLocaleString.iana_time_zone_names Safari10/22/2013 Firefox3/7/20171232
javascript.builtins.Date.toLocaleString.locales_parameter Firefox4/29/2014 Safari9/20/2016875
Deno: Only the locale data for en-US is available.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Date.toLocaleString.options_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Date.toLocaleTimeString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.toLocaleTimeString.iana_time_zone_names Safari10/22/2013 Firefox3/7/20171232
javascript.builtins.Date.toLocaleTimeString.locales_parameter Firefox4/29/2014 Safari9/20/2016875
Deno: Only the locale data for en-US is available.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Date.toLocaleTimeString.options_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Date.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.toTimeString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.toUTCString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Date.valueOf 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Error 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Error.Error 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Error.Error.options_cause_parameter 📋Firefox8/10/2021 Safari9/20/202141
javascript.builtins.Error.captureStackTrace 📋Safari12/11/2023 Firefox4/29/2025505
javascript.builtins.Error.cause 📋Firefox8/10/2021 Safari9/20/202141
Chrome: Before version 125, default console logging for Error objects does not print the cause.Chrome Android: Before version 125, default console logging for Error objects does not print the cause.Edge: Before version 125, default console logging for Error objects does not print the cause.Quest Browser: Before version false, default console logging for Error objects does not print the cause.Opera: Before version 111, default console logging for Error objects does not print the cause.Opera Android: Before version 83, default console logging for Error objects does not print the cause.Safari: Default console logging for Error objects does not print the cause.Safari on iOS: Default console logging for Error objects does not print the cause.Samsung Internet: Before version 27.0, default console logging for Error objects does not print the cause.WebView Android: Before version 125, default console logging for Error objects does not print the cause.WebView on iOS: Default console logging for Error objects does not print the cause.
javascript.builtins.Error.isError 📋Safari3/31/2025 Firefox4/29/202529
Node.js: Returns false for DOMException instances. See issue 56497.Safari: Returns false for DOMException instances.Safari on iOS: Returns false for DOMException instances.WebView on iOS: Returns false for DOMException instances.
javascript.builtins.Error.message 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Error.name 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Error.stack Firefox11/9/2004 Safari7/25/20122815
javascript.builtins.Error.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.EvalError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.EvalError.EvalError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.FinalizationRegistry 📋Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.FinalizationRegistry.FinalizationRegistry 📋Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.FinalizationRegistry.register 📋Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.FinalizationRegistry.register.symbol_as_target Safari3/27/2023 Firefox12/9/2025988
javascript.builtins.FinalizationRegistry.unregister 📋Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.Float16Array 📋Firefox8/6/2024 Safari12/11/2024127
javascript.builtins.Float16Array.Float16Array 📋Firefox8/6/2024 Safari12/11/2024127
javascript.builtins.Float32Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Float32Array.Float32Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Float32Array.Float32Array.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Float32Array.Float32Array.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Float64Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Float64Array.Float64Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Float64Array.Float64Array.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Float64Array.Float64Array.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Function 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Function.@@hasInstance 📋Safari9/20/2016 Firefox11/15/201656
javascript.builtins.Function.Function 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Function.apply 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Function.apply.generic_arrays_as_arguments Firefox3/22/2011 Safari7/25/2012491
javascript.builtins.Function.arguments Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Function.bind 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Function.call 📋Safari6/23/2003 Firefox11/9/2004505
Node.js: When calling this method, thisArg does not default to the global object.
javascript.builtins.Function.caller Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.Function.length 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Function.length.configurable_true Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.Function.name 📋Firefox11/9/2004 Safari7/25/20122815
javascript.builtins.Function.name.configurable_true Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.Function.name.inferred_names Safari9/20/2016 Firefox4/19/2017211
Edge: Names for functions defined in a dictionary are properly assigned; however, anonymous functions defined on a var/let variable assignment have blank names.
javascript.builtins.Function.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Function.toString.toString_revision Firefox6/13/2017 Safari9/18/20232288
javascript.builtins.Generator 📋Firefox12/10/2013 Safari9/20/20161015
javascript.builtins.Generator.next 📋Firefox12/10/2013 Safari9/20/20161015
javascript.builtins.Generator.return 📋Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.Generator.throw 📋Firefox12/10/2013 Safari9/20/20161015
javascript.builtins.GeneratorFunction 📋Firefox12/10/2013 Safari9/20/20161015
javascript.builtins.GeneratorFunction.GeneratorFunction 📋Firefox12/10/2013 Safari9/20/20161015
javascript.builtins.Infinity 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Int16Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Int16Array.Int16Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Int16Array.Int16Array.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Int16Array.Int16Array.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Int32Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Int32Array.Int32Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Int32Array.Int32Array.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Int32Array.Int32Array.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Int8Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Int8Array.Int8Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Int8Array.Int8Array.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Int8Array.Int8Array.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Intl 📋Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.Collator 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the Collator() constructor for more details.
javascript.builtins.Intl.Collator.Collator 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the Collator instance silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.Collator.Collator.options_caseFirst_parameter Firefox8/8/2017 Safari9/19/201742
javascript.builtins.Intl.Collator.Collator.options_collation_parameter Firefox1/26/2021 Safari4/26/202190
javascript.builtins.Intl.Collator.Collator.options_ignorePunctuation_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.Collator.Collator.options_localeMatcher_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.Collator.Collator.options_numeric_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.Collator.Collator.options_sensitivity_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.Collator.Collator.options_usage_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.Collator.compare 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the Collator() constructor for more details.
javascript.builtins.Intl.Collator.resolvedOptions 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the Collator() constructor for more details.
javascript.builtins.Intl.Collator.supportedLocalesOf 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.DateTimeFormat 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the DateTimeFormat() constructor for more details.
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the DateTimeFormat instance silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.IntlLegacyConstructedSymbol 📋Firefox6/13/2017 Safari4/26/20211413
Chrome: The fallback symbol property has description IntlFallback.Chrome Android: The fallback symbol property has description IntlFallback.Edge: The fallback symbol property has description IntlFallback.Node.js: The fallback symbol property has description IntlFallback.Quest Browser: The fallback symbol property has description IntlFallback.Opera: The fallback symbol property has description IntlFallback.Opera Android: The fallback symbol property has description IntlFallback.Samsung Internet: The fallback symbol property has description IntlFallback.WebView Android: The fallback symbol property has description IntlFallback.
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.locales_parameter Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the DateTimeFormat instance silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_calendar_parameter Firefox5/5/2020 Safari4/26/2021356
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_dateStyle_parameter Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_dayPeriod_parameter Safari4/26/2021 Firefox7/13/202178
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_fractionalSecondDigits_parameter Firefox12/15/2020 Safari4/26/2021132
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_hourCycle_parameter Firefox1/23/2018 Safari9/19/2019604
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_numberingSystem_parameter Firefox5/5/2020 Safari4/26/2021356
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeStyle_parameter Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZoneName_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZoneName_parameter.extended_values Firefox8/10/2021 Safari3/14/2022216
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.DateTimeFormat.DateTimeFormat.options_parameter.options_timeZone_parameter.iana_time_zones Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Intl.DateTimeFormat.format 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the DateTimeFormat() constructor for more details.
javascript.builtins.Intl.DateTimeFormat.formatRange 📋Safari4/26/2021 Firefox8/10/2021106
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the DateTimeFormat() constructor for more details.
javascript.builtins.Intl.DateTimeFormat.formatRangeToParts 📋Safari4/26/2021 Firefox8/10/2021106
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the DateTimeFormat() constructor for more details.
javascript.builtins.Intl.DateTimeFormat.formatToParts 📋Firefox1/24/2017 Safari9/19/2017238
Chrome: Before version 71, formatToParts() returned an object with an incorrectly cased type key of dayperiod. Version 71 and later use the specification defined dayPeriod. See bug 41402623.Chrome Android: Before version 71, formatToParts() returned an object with an incorrectly cased type key of dayperiod. Version 71 and later use the specification defined dayPeriod. See bug 41402623.Node.js: Before version 12.0.0, formatToParts() returned an object with an incorrectly cased type key of dayperiod. Version 12.0.0 and later use the specification defined dayPeriod. See bug 41402623.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the DateTimeFormat() constructor for more details.Quest Browser: Before version 6.0, formatToParts() returned an object with an incorrectly cased type key of dayperiod. Version 71 and later use the specification defined dayPeriod. See bug 41402623.Opera: Before version 58, formatToParts() returned an object with an incorrectly cased type key of dayperiod. Version 58 and later use the specification defined dayPeriod. See bug 41402623.Opera Android: Before version 50, formatToParts() returned an object with an incorrectly cased type key of dayperiod. Version 50 and later use the specification defined dayPeriod. See bug 41402623.Samsung Internet: Before version 71, formatToParts() returned an object with an incorrectly cased type key of dayperiod. Version 71 and later use the specification defined dayPeriod. See bug 41402623.WebView Android: Before version 71, formatToParts() returned an object with an incorrectly cased type key of dayperiod. Version 71 and later use the specification defined dayPeriod. See bug 41402623.
javascript.builtins.Intl.DateTimeFormat.resolvedOptions 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the DateTimeFormat() constructor for more details.
javascript.builtins.Intl.DateTimeFormat.resolvedOptions.computed_timezone Safari9/20/2016 Firefox4/19/2017211
javascript.builtins.Intl.DateTimeFormat.supportedLocalesOf 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.DisplayNames 📋Firefox2/23/2021 Safari4/26/202162
javascript.builtins.Intl.DisplayNames.DisplayNames 📋Firefox2/23/2021 Safari4/26/202162
javascript.builtins.Intl.DisplayNames.of 📋Firefox2/23/2021 Safari4/26/202162
javascript.builtins.Intl.DisplayNames.resolvedOptions 📋Firefox2/23/2021 Safari4/26/202162
javascript.builtins.Intl.DisplayNames.supportedLocalesOf 📋Firefox2/23/2021 Safari4/26/202162
javascript.builtins.Intl.DurationFormat 📋Safari3/27/2023 Firefox3/4/2025708
javascript.builtins.Intl.DurationFormat.DurationFormat 📋Safari3/27/2023 Firefox3/4/2025708
javascript.builtins.Intl.DurationFormat.format 📋Safari3/27/2023 Firefox3/4/2025708
javascript.builtins.Intl.DurationFormat.formatToParts 📋Safari3/27/2023 Firefox3/4/2025708
javascript.builtins.Intl.DurationFormat.resolvedOptions 📋Safari3/27/2023 Firefox3/4/2025708
javascript.builtins.Intl.DurationFormat.supportedLocalesOf 📋Safari3/27/2023 Firefox3/4/2025708
javascript.builtins.Intl.ListFormat 📋Firefox6/30/2020 Safari4/26/2021300
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.Safari: Only available on macOS Big Sur (11) and above.
javascript.builtins.Intl.ListFormat.ListFormat 📋Firefox6/30/2020 Safari4/26/2021300
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the ListFormat instance silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.Safari: Only available on macOS Big Sur (11) and above.
javascript.builtins.Intl.ListFormat.format 📋Firefox6/30/2020 Safari4/26/2021300
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.Safari: Only available on macOS Big Sur (11) and above.
javascript.builtins.Intl.ListFormat.formatToParts 📋Firefox6/30/2020 Safari4/26/2021300
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.Safari: Only available on macOS Big Sur (11) and above.
javascript.builtins.Intl.ListFormat.resolvedOptions 📋Firefox6/30/2020 Safari4/26/2021300
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the ListFormat() constructor for more details.Safari: Only available on macOS Big Sur (11) and above.
javascript.builtins.Intl.ListFormat.supportedLocalesOf 📋Firefox6/30/2020 Safari4/26/2021300
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.Safari: Only available on macOS Big Sur (11) and above.
javascript.builtins.Intl.Locale 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.Locale 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.baseName 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.calendar 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.caseFirst 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.collation 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.hourCycle 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.language 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.maximize 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.minimize 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.numberingSystem 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.numeric 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.region 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.script 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.toString 📋Firefox4/7/2020 Safari9/16/2020162
javascript.builtins.Intl.Locale.variants 📋Firefox7/22/2025 Safari9/15/202555
javascript.builtins.Intl.NumberFormat 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the NumberFormat() constructor for more details.
javascript.builtins.Intl.NumberFormat.NumberFormat 📋Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.IntlLegacyConstructedSymbol 📋Firefox6/13/2017 Safari4/26/20211413
Chrome: The fallback symbol property has description IntlFallback.Chrome Android: The fallback symbol property has description IntlFallback.Edge: The fallback symbol property has description IntlFallback.Node.js: The fallback symbol property has description IntlFallback.Quest Browser: The fallback symbol property has description IntlFallback.Opera: The fallback symbol property has description IntlFallback.Opera Android: The fallback symbol property has description IntlFallback.Samsung Internet: The fallback symbol property has description IntlFallback.WebView Android: The fallback symbol property has description IntlFallback.
javascript.builtins.Intl.NumberFormat.NumberFormat.locales_parameter Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the NumberFormat instance silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_compactDisplay_parameter Firefox6/30/2020 Safari4/26/2021300
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currencyDisplay_parameter Firefox11/3/2015 Safari4/26/20212001
Safari: Doesn't support currencyDisplay: 'narrowSymbol'.Safari on iOS: Doesn't support currencyDisplay: 'narrowSymbol'.WebView on iOS: Doesn't support currencyDisplay: 'narrowSymbol'.
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currencySign_parameter Firefox6/30/2020 Safari4/26/2021300
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_currency_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_localeMatcher_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_maximumFractionDigits_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_maximumSignificantDigits_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumFractionDigits_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumIntegerDigits_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_minimumSignificantDigits_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_notation_parameter Firefox6/30/2020 Safari4/26/2021300
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_numberingSystem_parameter Firefox5/5/2020 Safari4/26/2021356
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingIncrement_parameter Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingMode_parameter Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_roundingPriority_parameter Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_signDisplay_parameter Firefox6/30/2020 Safari4/26/2021300
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_signDisplay_parameter.negative Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_style_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_trailingZeroDisplay_parameter Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_unitDisplay_parameter Firefox6/30/2020 Safari4/26/2021300
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_unit_parameter Firefox6/30/2020 Safari4/26/2021300
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_useGrouping_parameter Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the NumberFormat instance silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.NumberFormat.NumberFormat.options_parameter.options_useGrouping_parameter.string_values Safari3/27/2023 Firefox8/1/2023127
javascript.builtins.Intl.NumberFormat.format 📋Firefox4/29/2014 Safari9/20/2016875
Edge: Before Edge 18, numbers are rounded to 15 decimal digits. For example, new Intl.NumberFormat('en-US').format(1000000000000005) returns "1,000,000,000,000,010".Internet Explorer: In Internet Explorer 11, numbers are rounded to 15 decimal digits. For example, new Intl.NumberFormat('en-US').format(1000000000000005) returns "1,000,000,000,000,010".Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the NumberFormat() constructor for more details.
javascript.builtins.Intl.NumberFormat.format.number_parameter-string_decimal Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.NumberFormat.formatRange 📋Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.NumberFormat.formatRangeToParts 📋Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.NumberFormat.formatToParts 📋Firefox1/23/2018 Safari9/19/2019604
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the NumberFormat() constructor for more details.
javascript.builtins.Intl.NumberFormat.resolvedOptions 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the NumberFormat() constructor for more details.
javascript.builtins.Intl.NumberFormat.supportedLocalesOf 📋Firefox4/29/2014 Safari9/20/2016875
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.PluralRules 📋Firefox1/23/2018 Safari9/19/2019604
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the PluralRules() constructor for more details.
javascript.builtins.Intl.PluralRules.PluralRules 📋Firefox1/23/2018 Safari9/19/2019604
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the PluralRules instance silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.PluralRules.PluralRules.options_parameter Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_roundingIncrement_parameter Firefox8/1/2023 Safari12/11/2023132
javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_roundingMode_parameter Firefox8/1/2023 Safari12/11/2023132
javascript.builtins.Intl.PluralRules.PluralRules.options_parameter.options_roundingPriority_parameter Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.PluralRules.resolvedOptions 📋Firefox1/23/2018 Safari9/19/2019604
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the PluralRules() constructor for more details.
javascript.builtins.Intl.PluralRules.select 📋Firefox1/23/2018 Safari9/19/2019604
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the PluralRules() constructor for more details.
javascript.builtins.Intl.PluralRules.selectRange 📋Safari3/14/2022 Firefox8/1/2023505
javascript.builtins.Intl.PluralRules.supportedLocalesOf 📋Firefox1/23/2018 Safari9/19/2019604
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the PluralRules() constructor for more details.
javascript.builtins.Intl.RelativeTimeFormat 📋Firefox1/29/2019 Safari9/16/2020596
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the RelativeTimeFormat() constructor for more details.
javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat 📋Firefox1/29/2019 Safari9/16/2020596
javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.locales_parameter Firefox1/29/2019 Safari9/16/2020596
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the RelativeTimeFormat instance silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.options_parameter.options_localeMatcher_parameter Firefox1/29/2019 Safari9/16/2020596
javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.options_parameter.options_numberingSystem_parameter Firefox5/5/2020 Safari9/16/2020134
javascript.builtins.Intl.RelativeTimeFormat.RelativeTimeFormat.options_parameter.options_numeric_parameter Firefox1/29/2019 Safari9/16/2020596
javascript.builtins.Intl.RelativeTimeFormat.format 📋Firefox1/29/2019 Safari9/16/2020596
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the RelativeTimeFormat() constructor for more details.
javascript.builtins.Intl.RelativeTimeFormat.formatToParts 📋Firefox10/22/2019 Safari9/16/2020330
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the RelativeTimeFormat() constructor for more details.
javascript.builtins.Intl.RelativeTimeFormat.resolvedOptions 📋Firefox1/29/2019 Safari9/16/2020596
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. See the RelativeTimeFormat() constructor for more details.
javascript.builtins.Intl.RelativeTimeFormat.supportedLocalesOf 📋Firefox1/29/2019 Safari9/16/2020596
Node.js: Before version 13.0.0, only the locale data for en-US is available by default. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Intl.Segmenter 📋Safari4/26/2021 Firefox4/16/20241086
javascript.builtins.Intl.Segmenter.Segmenter 📋Safari4/26/2021 Firefox4/16/20241086
javascript.builtins.Intl.Segmenter.resolvedOptions 📋Safari4/26/2021 Firefox4/16/20241086
javascript.builtins.Intl.Segmenter.segment 📋Safari4/26/2021 Firefox4/16/20241086
javascript.builtins.Intl.Segmenter.supportedLocalesOf 📋Safari4/26/2021 Firefox4/16/20241086
javascript.builtins.Intl.Segments 📋Safari4/26/2021 Firefox4/16/20241086
javascript.builtins.Intl.Segments.@@iterator 📋Safari4/26/2021 Firefox4/16/20241086
javascript.builtins.Intl.Segments.containing 📋Safari4/26/2021 Firefox4/16/20241086
javascript.builtins.Intl.getCanonicalLocales 📋Firefox8/2/2016 Safari3/27/2017237
javascript.builtins.Intl.supportedValuesOf 📋Firefox10/5/2021 Safari3/14/2022160
javascript.builtins.Intl.supportedValuesOf.key_parameter_calendar Firefox10/5/2021 Safari3/14/2022160
javascript.builtins.Intl.supportedValuesOf.key_parameter_collation Firefox10/5/2021 Safari3/14/2022160
javascript.builtins.Intl.supportedValuesOf.key_parameter_currency Firefox10/5/2021 Safari3/14/2022160
javascript.builtins.Intl.supportedValuesOf.key_parameter_numberingSystem Firefox10/5/2021 Safari3/14/2022160
javascript.builtins.Intl.supportedValuesOf.key_parameter_timeZone Firefox10/5/2021 Safari3/14/2022160
javascript.builtins.Intl.supportedValuesOf.key_parameter_timeZone.includes_UTC Firefox10/5/2021 Safari3/14/2022160
javascript.builtins.Intl.supportedValuesOf.key_parameter_unit Firefox10/5/2021 Safari3/14/2022160
javascript.builtins.Iterator 📋Firefox11/20/2012 Safari9/20/20161400
javascript.builtins.Iterator.@@iterator 📋Firefox2/24/2015 Safari9/20/2016574
Firefox: A placeholder property named @@iterator is used.Firefox: A placeholder property named iterator is used.Firefox for Android: A placeholder property named @@iterator is used.Firefox for Android: A placeholder property named iterator is used.
javascript.builtins.Iterator.Iterator 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.drop 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.every 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.filter 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.find 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.flatMap 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.forEach 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.from 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.map 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.reduce 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.some 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.take 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.Iterator.toArray 📋Firefox10/1/2024 Safari3/31/2025181
javascript.builtins.JSON 📋Safari6/8/2009 Firefox6/30/200922
javascript.builtins.JSON.json_superset Firefox9/5/2018 Safari9/17/201812
javascript.builtins.JSON.parse 📋Safari6/8/2009 Firefox6/30/200922
javascript.builtins.JSON.parse.reviver_parameter_context_argument 📋Firefox2/4/2025 Safari3/31/202555
javascript.builtins.JSON.stringify 📋Safari6/8/2009 Firefox6/30/200922
javascript.builtins.JSON.stringify.well_formed_stringify Firefox12/11/2018 Safari3/25/2019104
javascript.builtins.Map 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Map.@@iterator 📋Firefox2/24/2015 Safari9/20/2016574
Firefox: A placeholder property named @@iterator is used.Firefox: A placeholder property named iterator is used.Firefox for Android: A placeholder property named @@iterator is used.Firefox for Android: A placeholder property named iterator is used.
javascript.builtins.Map.@@species 📋Firefox9/22/2015 Safari9/20/2016364
javascript.builtins.Map.Map 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Map.Map.iterable_allowed Firefox6/5/2012 Safari9/30/20151212
javascript.builtins.Map.Map.null_allowed Firefox3/31/2015 Safari9/30/2015183
javascript.builtins.Map.clear 📋Firefox2/19/2013 Safari10/16/2014604
javascript.builtins.Map.delete 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Map.entries 📋Firefox4/2/2013 Safari10/16/2014562
javascript.builtins.Map.forEach 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Map.get 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Map.getOrInsert 📋Firefox10/14/2025 Safari12/12/202559
javascript.builtins.Map.getOrInsertComputed 📋Firefox10/14/2025 Safari12/12/202559
javascript.builtins.Map.groupBy 📋Firefox10/24/2023 Safari3/5/2024133
javascript.builtins.Map.has 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Map.key_equality_for_zeros Firefox4/29/2014 Safari9/30/2015519
javascript.builtins.Map.keys 📋Firefox4/2/2013 Safari10/16/2014562
javascript.builtins.Map.set 📋Firefox6/5/2012 Safari10/16/2014863
Internet Explorer: Returns 'undefined' instead of the 'Map' object.
javascript.builtins.Map.size 📋Firefox2/19/2013 Safari10/16/2014604
Firefox: From Firefox 13 to Firefox 18, the size property was implemented as a Map.prototype.size() method, this has been changed to a property in later versions conform to the ECMAScript 2015 specification.Firefox for Android: From Firefox for Android 14 to Firefox for Android 18, the size property was implemented as a Map.prototype.size() method, this has been changed to a property in later versions conform to the ECMAScript 2015 specification.
javascript.builtins.Map.values 📋Firefox4/2/2013 Safari10/16/2014562
javascript.builtins.Math 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.E 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.LN10 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.LN2 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.LOG10E 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.LOG2E 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.PI 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.SQRT1_2 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.SQRT2 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.abs 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.acos 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.acosh 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.asin 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.asinh 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.atan 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.atan2 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.atanh 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.cbrt 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.ceil 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.clz32 📋Safari10/22/2013 Firefox7/22/2014273
javascript.builtins.Math.cos 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.cosh 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.exp 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.expm1 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.f16round 📋Firefox8/6/2024 Safari12/11/2024127
javascript.builtins.Math.floor 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.fround 📋Firefox12/10/2013 Safari10/16/2014310
javascript.builtins.Math.hypot 📋Firefox2/4/2014 Safari10/16/2014254
javascript.builtins.Math.imul 📋Firefox4/2/2013 Safari10/22/2013203
javascript.builtins.Math.log 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.log10 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.log1p 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.log2 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.max 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.min 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.pow 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.random 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.round 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.sign 📋Firefox10/29/2013 Safari9/30/2015701
javascript.builtins.Math.sin 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.sinh 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.sqrt 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.sumPrecise 📋Firefox4/1/2025 Safari12/12/2025255
javascript.builtins.Math.tan 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Math.tanh 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Math.trunc 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.NaN 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number.EPSILON 📋Firefox10/29/2013 Safari9/30/2015701
javascript.builtins.Number.MAX_SAFE_INTEGER 📋Firefox7/22/2014 Safari9/30/2015435
javascript.builtins.Number.MAX_VALUE 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number.MIN_SAFE_INTEGER 📋Firefox7/22/2014 Safari9/30/2015435
javascript.builtins.Number.MIN_VALUE 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number.NEGATIVE_INFINITY 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number.NaN 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number.Number 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number.POSITIVE_INFINITY 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number.isFinite 📋Firefox10/9/2012 Safari9/30/20151086
javascript.builtins.Number.isInteger 📋Firefox10/9/2012 Safari9/30/20151086
javascript.builtins.Number.isNaN 📋Firefox8/28/2012 Safari9/30/20151128
javascript.builtins.Number.isSafeInteger 📋Firefox9/2/2014 Safari9/30/2015393
javascript.builtins.Number.parseFloat 📋Firefox10/29/2013 Safari9/30/2015701
javascript.builtins.Number.parseInt 📋Firefox10/29/2013 Safari9/30/2015701
javascript.builtins.Number.toExponential 📋Firefox11/9/2004 Safari4/29/2005171
javascript.builtins.Number.toFixed 📋Firefox11/9/2004 Safari4/29/2005171
javascript.builtins.Number.toLocaleString 📋Safari6/23/2003 Firefox11/9/2004505
Edge: Before Edge 18, numbers are rounded to 15 decimal digits. For example, (1000000000000005).toLocaleString('en-US') returns "1,000,000,000,000,010".Internet Explorer: In Internet Explorer 11, numbers are rounded to 15 decimal digits. For example, (1000000000000005).toLocaleString('en-US') returns "1,000,000,000,000,010".
javascript.builtins.Number.toLocaleString.locales_parameter Firefox4/29/2014 Safari9/20/2016875
Deno: Only the locale data for en-US is available.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.Number.toLocaleString.options_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.Number.toPrecision 📋Firefox11/9/2004 Safari4/29/2005171
javascript.builtins.Number.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Number.valueOf 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Object 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Object.Object 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Object.assign 📋Firefox12/1/2014 Safari9/30/2015303
javascript.builtins.Object.constructor 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Object.create 📋Safari6/7/2010 Firefox3/22/2011288
javascript.builtins.Object.defineGetter 📋Firefox11/9/2004 Safari10/26/20071081
Firefox: Starting with Firefox 48, this method can no longer be called at the global scope without any object. A TypeError will be thrown otherwise. Previously, the global object was used in these cases automatically, but this is no longer the case.
javascript.builtins.Object.defineProperties 📋Safari6/7/2010 Firefox3/22/2011288
javascript.builtins.Object.defineProperty 📋Firefox3/22/2011 Safari7/20/2011120
Internet Explorer: In Internet Explorer 8, this was only supported on DOM objects and with some non-standard behaviors. This was later fixed in Internet Explorer 9.Safari: Also supported in Safari 5, but not on DOM objects.Safari on iOS: Also supported in Safari for iOS 4.2, but not on DOM objects.WebView on iOS: Also supported in Safari for iOS 4.2, but not on DOM objects.
javascript.builtins.Object.defineSetter 📋Firefox11/9/2004 Safari10/26/20071081
Firefox: Starting with Firefox 48, this method can no longer be called at the global scope without any object. A TypeError will be thrown otherwise. Previously, the global object was used in these cases automatically, but this is no longer the case.
javascript.builtins.Object.entries 📋Firefox6/7/2016 Safari3/27/2017293
javascript.builtins.Object.freeze 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Object.fromEntries 📋Firefox10/23/2018 Safari3/25/2019153
javascript.builtins.Object.getOwnPropertyDescriptor 📋Safari6/7/2010 Firefox3/22/2011288
Internet Explorer: In Internet Explorer 8, this was only supported on DOM objects and with some non-standard behaviors. This was later fixed in Internet Explorer 9.
javascript.builtins.Object.getOwnPropertyDescriptors 📋Safari9/20/2016 Firefox11/15/201656
javascript.builtins.Object.getOwnPropertyNames 📋Safari6/7/2010 Firefox3/22/2011288
javascript.builtins.Object.getOwnPropertySymbols 📋Firefox2/24/2015 Safari9/30/2015218
javascript.builtins.Object.getPrototypeOf 📋Firefox6/30/2009 Safari6/7/2010342
javascript.builtins.Object.groupBy 📋Firefox10/24/2023 Safari3/5/2024133
javascript.builtins.Object.hasOwn 📋Firefox9/7/2021 Safari3/14/2022188
javascript.builtins.Object.hasOwnProperty 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.Object.is 📋Firefox6/25/2013 Safari9/30/2015827
javascript.builtins.Object.isExtensible 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Object.isFrozen 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Object.isPrototypeOf 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.Object.isSealed 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Object.keys 📋Safari6/7/2010 Firefox3/22/2011288
javascript.builtins.Object.lookupGetter 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.Object.lookupSetter 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.Object.preventExtensions 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Object.preventExtensions.ES2015_behavior Firefox1/13/2015 Safari9/30/2015260
javascript.builtins.Object.propertyIsEnumerable 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.Object.proto 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.Object.seal 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Object.setPrototypeOf 📋Firefox7/22/2014 Safari9/30/2015435
javascript.builtins.Object.toLocaleString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Object.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Object.valueOf 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Object.values 📋Firefox6/7/2016 Safari3/27/2017293
javascript.builtins.Promise 📋Firefox4/29/2014 Safari10/16/2014170
javascript.builtins.Promise.@@species 📋Firefox8/2/2016 Safari9/20/201649
javascript.builtins.Promise.Promise 📋Firefox4/29/2014 Safari10/16/2014170
Firefox: Constructor requires a new operator since version 37.Firefox for Android: Constructor requires a new operator since version 37.Node.js: Constructor requires a new operator since version 4.Safari: Constructor requires a new operator since version 10.Safari on iOS: Constructor requires a new operator since version 10.WebView on iOS: Constructor requires a new operator since version 10.
javascript.builtins.Promise.all 📋Firefox4/29/2014 Safari10/16/2014170
javascript.builtins.Promise.allSettled 📋Safari9/19/2019 Firefox12/10/201982
javascript.builtins.Promise.any 📋Firefox7/28/2020 Safari9/16/202050
javascript.builtins.Promise.catch 📋Firefox4/29/2014 Safari10/16/2014170
javascript.builtins.Promise.finally 📋Firefox1/23/2018 Safari4/12/201879
javascript.builtins.Promise.race 📋Firefox4/29/2014 Safari10/16/2014170
javascript.builtins.Promise.reject 📋Firefox4/29/2014 Safari10/16/2014170
javascript.builtins.Promise.resolve 📋Firefox4/29/2014 Safari10/16/2014170
javascript.builtins.Promise.then 📋Firefox4/29/2014 Safari10/16/2014170
javascript.builtins.Promise.try 📋Safari12/11/2024 Firefox1/7/202527
javascript.builtins.Promise.withResolvers 📋Firefox12/19/2023 Safari3/5/202477
javascript.builtins.Proxy 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.Proxy 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.apply 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.construct 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.defineProperty 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.deleteProperty 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.get 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.getOwnPropertyDescriptor 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.getPrototypeOf 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.Proxy.handler.has 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.isExtensible 📋Firefox7/22/2014 Safari9/20/2016791
javascript.builtins.Proxy.handler.ownKeys 📋Firefox1/8/2013 Safari9/20/20161351
Firefox: In Firefox 42, the implementation got updated to reflect the final ES2015 specification: The result is now checked if it is an array and if the array elements are either of type string or of type symbol. Enumerating duplicate own property names is not a failure anymore.Firefox for Android: In Firefox for Android 42, the implementation got updated to reflect the final ES2015 specification: The result is now checked if it is an array and if the array elements are either of type string or of type symbol. Enumerating duplicate own property names is not a failure anymore.
javascript.builtins.Proxy.handler.preventExtensions 📋Firefox6/25/2013 Safari9/20/20161183
javascript.builtins.Proxy.handler.set 📋Firefox1/8/2013 Safari9/20/20161351
javascript.builtins.Proxy.handler.setPrototypeOf 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.Proxy.revocable 📋Firefox12/1/2014 Safari9/20/2016659
javascript.builtins.RangeError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RangeError.RangeError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.ReferenceError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.ReferenceError.ReferenceError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Reflect 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.apply 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.construct 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.defineProperty 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.deleteProperty 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.get 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.getOwnPropertyDescriptor 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.getPrototypeOf 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.has 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.isExtensible 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.ownKeys 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.preventExtensions 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.set 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.Reflect.setPrototypeOf 📋Firefox11/3/2015 Safari9/20/2016322
javascript.builtins.RegExp 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.@@match 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.RegExp.@@matchAll 📋Firefox5/21/2019 Safari9/19/2019121
javascript.builtins.RegExp.@@replace 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.RegExp.@@search 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.RegExp.@@species 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.RegExp.@@split 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.RegExp.RegExp 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.compile 📋Firefox11/9/2004 Safari3/18/20081225
javascript.builtins.RegExp.compile.rexexp_legacy_features Safari7/20/2022 Firefox2/24/20261315
javascript.builtins.RegExp.dotAll 📋Safari4/12/2018 Firefox6/30/2020810
javascript.builtins.RegExp.escape 📋Safari12/11/2024 Firefox1/7/202527
javascript.builtins.RegExp.exec 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.flags 📋Firefox3/31/2015 Safari9/30/2015183
javascript.builtins.RegExp.global 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.global.prototype_accessor Safari4/15/2005 Firefox5/12/20153679
javascript.builtins.RegExp.hasIndices 📋Firefox4/19/2021 Safari9/20/2021154
javascript.builtins.RegExp.ignoreCase 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.ignoreCase.prototype_accessor Safari4/15/2005 Firefox5/12/20153679
javascript.builtins.RegExp.input 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.RegExp.lastIndex 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.lastMatch 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.RegExp.lastParen 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.RegExp.leftContext 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.RegExp.multiline 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.multiline.prototype_accessor Safari4/15/2005 Firefox5/12/20153679
javascript.builtins.RegExp.n 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.rightContext 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.RegExp.source 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.source.empty_regex_string Safari6/7/2010 Firefox5/12/20151800
javascript.builtins.RegExp.source.escaping Safari7/25/2012 Firefox5/12/20151021
javascript.builtins.RegExp.source.prototype_accessor Safari4/15/2005 Firefox9/22/20153812
javascript.builtins.RegExp.sticky 📋Firefox6/17/2008 Safari9/20/20163017
javascript.builtins.RegExp.sticky.anchored_sticky_flag Firefox1/26/2016 Safari9/20/2016238
javascript.builtins.RegExp.sticky.prototype_accessor Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.RegExp.test 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.RegExp.toString.escaping Safari7/25/2012 Firefox5/12/20151021
javascript.builtins.RegExp.unicode 📋Firefox4/26/2016 Safari9/20/2016147
Edge: Case folding is implemented in version 13Node.js: Case folding is implemented in version 8.6.0
javascript.builtins.RegExp.unicodeSets 📋Firefox8/1/2023 Safari9/18/202348
javascript.builtins.Set 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Set.@@iterator 📋Firefox2/24/2015 Safari9/30/2015218
Firefox: A placeholder property named @@iterator is used.Firefox: A placeholder property named iterator is used.Firefox for Android: A placeholder property named @@iterator is used.Firefox for Android: A placeholder property named iterator is used.
javascript.builtins.Set.@@species 📋Firefox9/22/2015 Safari9/20/2016364
javascript.builtins.Set.Set 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Set.Set.iterable_allowed Firefox6/5/2012 Safari9/30/20151212
javascript.builtins.Set.Set.null_allowed Firefox3/31/2015 Safari9/30/2015183
javascript.builtins.Set.add 📋Firefox6/5/2012 Safari10/16/2014863
Internet Explorer: Returns 'undefined' instead of the 'Set' object.
javascript.builtins.Set.clear 📋Firefox2/19/2013 Safari10/16/2014604
javascript.builtins.Set.delete 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Set.difference 📋Safari9/18/2023 Firefox6/11/2024267
javascript.builtins.Set.entries 📋Firefox9/17/2013 Safari10/16/2014394
javascript.builtins.Set.forEach 📋Firefox10/29/2013 Safari10/16/2014352
javascript.builtins.Set.has 📋Firefox6/5/2012 Safari10/16/2014863
javascript.builtins.Set.intersection 📋Safari9/18/2023 Firefox6/11/2024267
javascript.builtins.Set.isDisjointFrom 📋Safari9/18/2023 Firefox6/11/2024267
javascript.builtins.Set.isSubsetOf 📋Safari9/18/2023 Firefox6/11/2024267
javascript.builtins.Set.isSupersetOf 📋Safari9/18/2023 Firefox6/11/2024267
javascript.builtins.Set.key_equality_for_zeros Firefox4/29/2014 Safari9/30/2015519
javascript.builtins.Set.keys 📋Firefox9/17/2013 Safari10/16/2014394
javascript.builtins.Set.size 📋Firefox2/19/2013 Safari10/16/2014604
Firefox: From Firefox 13 to Firefox 18, the size property was implemented as a Set.prototype.size() method, this has been changed to a property in later versions conform to the ECMAScript 2015 specification.Firefox for Android: From Firefox for Android 14 to Firefox for Android 18, the size property was implemented as a Set.prototype.size() method, this has been changed to a property in later versions conform to the ECMAScript 2015 specification.
javascript.builtins.Set.symmetricDifference 📋Safari9/18/2023 Firefox6/11/2024267
javascript.builtins.Set.union 📋Safari9/18/2023 Firefox6/11/2024267
javascript.builtins.Set.values 📋Firefox9/17/2013 Safari10/16/2014394
javascript.builtins.SharedArrayBuffer 📋Firefox7/28/2020 Safari12/13/2021503
javascript.builtins.SharedArrayBuffer.@@species 📋Firefox7/28/2020 Safari12/13/2021503
javascript.builtins.SharedArrayBuffer.SharedArrayBuffer 📋Firefox7/28/2020 Safari12/13/2021503
javascript.builtins.SharedArrayBuffer.SharedArrayBuffer.maxByteLength_option 📋Safari3/27/2023 Firefox7/9/2024470
javascript.builtins.SharedArrayBuffer.byteLength 📋Firefox7/28/2020 Safari12/13/2021503
javascript.builtins.SharedArrayBuffer.grow 📋Safari3/27/2023 Firefox7/9/2024470
javascript.builtins.SharedArrayBuffer.growable 📋Safari3/27/2023 Firefox7/9/2024470
javascript.builtins.SharedArrayBuffer.maxByteLength 📋Safari3/27/2023 Firefox7/9/2024470
javascript.builtins.SharedArrayBuffer.slice 📋Firefox7/28/2020 Safari12/13/2021503
javascript.builtins.String 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.@@iterator 📋Firefox2/24/2015 Safari9/30/2015218
Firefox: A placeholder property named @@iterator is used.Firefox: A placeholder property named iterator is used.Firefox for Android: A placeholder property named @@iterator is used.Firefox for Android: A placeholder property named iterator is used.
javascript.builtins.String.String 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.anchor 📋Safari6/23/2003 Firefox11/9/2004505
Firefox: Starting with version 17, the quotation mark (") is replaced by its HTML reference character (") in strings supplied for the name parameter.
javascript.builtins.String.at 📋Firefox7/13/2021 Safari3/14/2022244
javascript.builtins.String.big 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.blink 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.bold 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.charAt 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.charCodeAt 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.codePointAt 📋Firefox4/29/2014 Safari9/30/2015519
javascript.builtins.String.concat 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.endsWith 📋Firefox11/20/2012 Safari9/30/20151044
javascript.builtins.String.fixed 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.fontcolor 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.fontsize 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.fromCharCode 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.fromCodePoint 📋Firefox4/29/2014 Safari9/30/2015519
javascript.builtins.String.includes 📋Firefox8/11/2015 Safari9/30/201550
javascript.builtins.String.indexOf 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.isWellFormed 📋Safari3/27/2023 Firefox10/24/2023211
javascript.builtins.String.italics 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.lastIndexOf 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.length 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.link 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.localeCompare 📋Firefox11/9/2004 Safari10/26/20071081
javascript.builtins.String.localeCompare.locales_parameter Firefox4/29/2014 Safari9/20/2016875
Deno: Only the locale data for en-US is available.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.String.localeCompare.options_parameter Firefox4/29/2014 Safari9/20/2016875
javascript.builtins.String.match 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.matchAll 📋Firefox5/21/2019 Safari9/19/2019121
javascript.builtins.String.normalize 📋Firefox7/22/2014 Safari9/20/2016791
javascript.builtins.String.padEnd 📋Firefox8/2/2016 Safari9/20/201649
javascript.builtins.String.padStart 📋Firefox8/2/2016 Safari9/20/201649
javascript.builtins.String.raw 📋Firefox12/1/2014 Safari9/30/2015303
javascript.builtins.String.repeat 📋Firefox9/17/2013 Safari9/30/2015743
javascript.builtins.String.replace 📋Safari6/23/2003 Firefox11/9/2004505
Internet Explorer: A replacement function as second argument is not supported.
javascript.builtins.String.replaceAll 📋Safari3/24/2020 Firefox6/2/202070
javascript.builtins.String.search 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.slice 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.small 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.split 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.startsWith 📋Firefox11/20/2012 Safari9/30/20151044
javascript.builtins.String.strike 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.sub 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.substr 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.substring 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.sup 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.toLocaleLowerCase 📋Firefox11/9/2004 Safari4/15/2005157
javascript.builtins.String.toLocaleLowerCase.locales_parameter Safari9/20/2016 Firefox8/8/2017322
Deno: Only the locale data for en-US is available.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.String.toLocaleUpperCase 📋Firefox11/9/2004 Safari4/15/2005157
javascript.builtins.String.toLocaleUpperCase.locales_parameter Safari9/20/2016 Firefox8/8/2017322
Deno: Only the locale data for en-US is available.Node.js: Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the function silently falls back to en-US. To make full ICU (locale) data available before version 13, see Node.js documentation on the --with-intl option and how to provide the data.
javascript.builtins.String.toLowerCase 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.toString 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.toUpperCase 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.String.toWellFormed 📋Safari3/27/2023 Firefox10/24/2023211
javascript.builtins.String.trim 📋Firefox6/30/2009 Safari6/7/2010342
javascript.builtins.String.trimEnd 📋Firefox6/26/2018 Safari9/17/201883
javascript.builtins.String.trimStart 📋Firefox6/26/2018 Safari9/17/201883
javascript.builtins.String.unicode_code_point_escapes Safari6/23/2003 Firefox8/11/20154432
javascript.builtins.String.valueOf 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Symbol 📋Firefox2/24/2015 Safari9/30/2015218
Edge: Edge 12 included Symbol properties in JSON.stringify() output.
javascript.builtins.Symbol.@@toPrimitive 📋Firefox1/26/2016 Safari9/20/2016238
javascript.builtins.Symbol.Symbol 📋Firefox2/24/2015 Safari9/30/2015218
javascript.builtins.Symbol.asyncIterator 📋Firefox11/14/2017 Safari4/12/2018149
javascript.builtins.Symbol.description 📋Firefox10/23/2018 Safari3/25/2019153
Safari: No support for an undefined description.Safari on iOS: No support for an undefined description.WebView on iOS: No support for an undefined description.
javascript.builtins.Symbol.for 📋Firefox2/24/2015 Safari9/30/2015218
javascript.builtins.Symbol.hasInstance 📋Safari9/20/2016 Firefox11/15/201656
javascript.builtins.Symbol.isConcatSpreadable 📋Firefox8/2/2016 Safari9/20/201649
javascript.builtins.Symbol.iterator 📋Firefox2/24/2015 Safari9/20/2016574
javascript.builtins.Symbol.keyFor 📋Firefox2/24/2015 Safari9/30/2015218
javascript.builtins.Symbol.match 📋Firefox8/11/2015 Safari9/20/2016406
javascript.builtins.Symbol.matchAll 📋Firefox5/21/2019 Safari9/19/2019121
javascript.builtins.Symbol.replace 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.Symbol.search 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.Symbol.species 📋Firefox9/22/2015 Safari9/20/2016364
javascript.builtins.Symbol.split 📋Firefox9/20/2016 Safari9/20/2016
javascript.builtins.Symbol.toPrimitive 📋Firefox1/26/2016 Safari9/20/2016238
javascript.builtins.Symbol.toString 📋Firefox2/24/2015 Safari9/30/2015218
javascript.builtins.Symbol.toStringTag 📋Safari9/20/2016 Firefox1/24/2017126
javascript.builtins.Symbol.toStringTag.dom_objects Firefox6/30/2020 Safari9/16/202078
javascript.builtins.Symbol.unscopables 📋Safari9/30/2015 Firefox8/2/2016307
javascript.builtins.Symbol.valueOf 📋Firefox2/24/2015 Safari9/30/2015218
javascript.builtins.SyntaxError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.SyntaxError.SyntaxError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.TypeError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.TypeError.TypeError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.TypedArray 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.@@iterator 📋Firefox2/24/2015 Safari9/20/2016574
Firefox: A placeholder property named @@iterator is used.Firefox: A placeholder property named iterator is used.Firefox for Android: A placeholder property named @@iterator is used.Firefox for Android: A placeholder property named iterator is used.
javascript.builtins.TypedArray.@@species 📋Firefox8/2/2016 Safari9/20/201649
javascript.builtins.TypedArray.BYTES_PER_ELEMENT 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.at 📋Firefox7/13/2021 Safari3/14/2022244
javascript.builtins.TypedArray.buffer 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.byteLength 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.byteOffset 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.TypedArray.copyWithin 📋Firefox12/1/2014 Safari9/20/2016659
javascript.builtins.TypedArray.entries 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.every 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.fill 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.filter 📋Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.TypedArray.find 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.findIndex 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.findLast 📋Safari3/14/2022 Firefox8/23/2022162
javascript.builtins.TypedArray.findLastIndex 📋Safari3/14/2022 Firefox8/23/2022162
javascript.builtins.TypedArray.forEach 📋Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.TypedArray.from 📋Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.TypedArray.includes 📋Firefox12/15/2015 Safari9/20/2016280
javascript.builtins.TypedArray.indexOf 📋Firefox3/31/2015 Safari9/20/2016539
Firefox: Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).indexOf(0, -0) will now always return +0.Firefox for Android: Starting with Firefox for Android 47, this method will no longer return -0. For example, new Uint8Array([0]).indexOf(0, -0) will now always return +0.
javascript.builtins.TypedArray.index_properties_not_consulting_prototype Safari7/20/2011 Firefox10/29/2013832
Bun: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Chrome: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Chrome Android: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Deno: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Edge: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Internet Explorer: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Node.js: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Quest Browser: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Opera: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Opera Android: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Safari: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Safari on iOS: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.Samsung Internet: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.WebView Android: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.WebView on iOS: Negative integers are not considered as indexed properties and therefore return the value of the prototype property.
javascript.builtins.TypedArray.iterable_in_constructor Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.TypedArray.join 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.keys 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.lastIndexOf 📋Firefox3/31/2015 Safari9/20/2016539
Firefox: Starting with Firefox 47, this method will no longer return -0. For example, new Uint8Array([0]).lastIndexOf(0, -0) will now always return +0.Firefox for Android: Starting with Firefox for Android 47, this method will no longer return -0. For example, new Uint8Array([0]).lastIndexOf(0, -0) will now always return +0.
javascript.builtins.TypedArray.length 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.map 📋Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.TypedArray.name 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.named_properties Safari7/20/2011 Firefox6/10/20141056
javascript.builtins.TypedArray.of 📋Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.TypedArray.reduce 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.reduceRight 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.reverse 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.set 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.slice 📋Firefox5/12/2015 Safari9/20/2016497
javascript.builtins.TypedArray.some 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.sort 📋Firefox4/26/2016 Safari9/20/2016147
javascript.builtins.TypedArray.subarray 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.TypedArray.toLocaleString 📋Safari7/20/2011 Firefox1/24/20172015
javascript.builtins.TypedArray.toReversed 📋Safari9/12/2022 Firefox7/4/2023295
javascript.builtins.TypedArray.toSorted 📋Safari9/12/2022 Firefox7/4/2023295
javascript.builtins.TypedArray.toString 📋Safari7/20/2011 Firefox1/24/20172015
javascript.builtins.TypedArray.values 📋Firefox3/31/2015 Safari9/20/2016539
javascript.builtins.TypedArray.with 📋Safari9/12/2022 Firefox7/4/2023295
javascript.builtins.URIError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.URIError.URIError 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.Uint16Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Uint16Array.Uint16Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Uint16Array.Uint16Array.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Uint16Array.Uint16Array.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Uint32Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Uint32Array.Uint32Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Uint32Array.Uint32Array.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Uint32Array.Uint32Array.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Uint8Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Uint8Array.Uint8Array 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Uint8Array.Uint8Array.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Uint8Array.Uint8Array.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.Uint8Array.fromBase64 📋Firefox11/26/2024 Safari12/11/202415
javascript.builtins.Uint8Array.fromHex 📋Firefox11/26/2024 Safari12/11/202415
javascript.builtins.Uint8Array.setFromBase64 📋Firefox11/26/2024 Safari12/11/202415
javascript.builtins.Uint8Array.setFromHex 📋Firefox11/26/2024 Safari12/11/202415
javascript.builtins.Uint8Array.toBase64 📋Firefox11/26/2024 Safari12/11/202415
javascript.builtins.Uint8Array.toHex 📋Firefox11/26/2024 Safari12/11/202415
javascript.builtins.Uint8ClampedArray 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Uint8ClampedArray.Uint8ClampedArray 📋Firefox3/22/2011 Safari7/20/2011120
javascript.builtins.Uint8ClampedArray.Uint8ClampedArray.constructor_without_parameters Safari7/20/2011 Firefox8/8/20172211
javascript.builtins.Uint8ClampedArray.Uint8ClampedArray.iterable_allowed Safari9/20/2016 Firefox3/7/2017168
javascript.builtins.WeakMap 📋Firefox8/16/2011 Safari10/16/20141157
javascript.builtins.WeakMap.WeakMap 📋Firefox8/16/2011 Safari10/16/20141157
javascript.builtins.WeakMap.WeakMap.iterable_allowed Firefox2/24/2015 Safari9/30/2015218
javascript.builtins.WeakMap.WeakMap.null_allowed Safari10/16/2014 Firefox3/31/2015166
javascript.builtins.WeakMap.delete 📋Firefox8/16/2011 Safari10/16/20141157
Firefox: Before Firefox 38, this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per the ES2015 standard.Firefox for Android: Before Firefox for Android 38, this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per the ES2015 standard.
javascript.builtins.WeakMap.get 📋Firefox8/16/2011 Safari10/16/20141157
Firefox: Before Firefox 38, this method threw a TypeError when the key parameter was not an object. However, the ES2015 specification specifies to return undefined instead. Furthermore, WeakMap.prototype.get accepted an optional second argument as a fallback value, which is not part of the standard. Both non-standard behaviors are removed in version 38 and higher.Firefox for Android: Before Firefox for Android 38, this method threw a TypeError when the key parameter was not an object. However, the ES2015 specification specifies to return undefined instead. Furthermore, WeakMap.prototype.get accepted an optional second argument as a fallback value, which is not part of the standard. Both non-standard behaviors are removed in version 38 and higher.
javascript.builtins.WeakMap.getOrInsert 📋Firefox10/14/2025 Safari12/12/202559
javascript.builtins.WeakMap.getOrInsertComputed 📋Firefox10/14/2025 Safari12/12/202559
javascript.builtins.WeakMap.has 📋Firefox8/16/2011 Safari10/16/20141157
Firefox: Before Firefox 38, this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per the ES2015 standard.Firefox for Android: Before Firefox for Android 38, this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per the ES2015 standard.
javascript.builtins.WeakMap.set 📋Firefox8/16/2011 Safari10/16/20141157
Firefox: Before Firefox 38, this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per the ES2015 standard.Firefox for Android: Before Firefox for Android 38, this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per the ES2015 standard.Internet Explorer: Returns 'undefined' instead of the 'Map' object.
javascript.builtins.WeakMap.symbol_as_keys Safari3/27/2023 Firefox12/9/2025988
javascript.builtins.WeakRef 📋Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.WeakRef.WeakRef 📋Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.WeakRef.WeakRef.symbol_as_target Safari3/27/2023 Firefox12/9/2025988
javascript.builtins.WeakRef.deref 📋Firefox7/28/2020 Safari4/26/2021272
javascript.builtins.WeakSet 📋Firefox12/1/2014 Safari9/30/2015303
javascript.builtins.WeakSet.WeakSet 📋Firefox12/1/2014 Safari9/30/2015303
javascript.builtins.WeakSet.WeakSet.iterable_allowed Firefox12/1/2014 Safari9/30/2015303
javascript.builtins.WeakSet.WeakSet.null_allowed Firefox3/31/2015 Safari9/30/2015183
javascript.builtins.WeakSet.add 📋Firefox12/1/2014 Safari9/30/2015303
javascript.builtins.WeakSet.delete 📋Firefox12/1/2014 Safari9/30/2015303
javascript.builtins.WeakSet.has 📋Firefox12/1/2014 Safari9/30/2015303
javascript.builtins.WeakSet.symbol_as_keys Safari3/27/2023 Firefox12/9/2025988
javascript.builtins.decodeURI 📋Safari10/24/2003 Firefox11/9/2004382
javascript.builtins.decodeURIComponent 📋Safari10/24/2003 Firefox11/9/2004382
javascript.builtins.encodeURI 📋Safari10/24/2003 Firefox11/9/2004382
javascript.builtins.encodeURIComponent 📋Safari10/24/2003 Firefox11/9/2004382
javascript.builtins.escape 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.eval 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.globalThis 📋Firefox1/29/2019 Safari3/25/201955
javascript.builtins.isFinite 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.isNaN 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.parseFloat 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.parseInt 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.parseInt.leading_zero_strings_as_decimal Safari7/25/2012 Firefox5/14/2013293
javascript.builtins.undefined 📋Safari6/23/2003 Firefox11/9/2004505
javascript.builtins.unescape 📋Safari6/23/2003 Firefox11/9/2004505
javascript.classes 📋Safari9/30/2015 Firefox3/8/2016160
Chrome: Strict mode is required.Chrome Android: Strict mode is required.Opera: Strict mode is required.Opera Android: Strict mode is required.Samsung Internet: Strict mode is required.WebView Android: Strict mode is required.
javascript.classes.constructor 📋Safari9/30/2015 Firefox3/8/2016160
Chrome: Strict mode is required.Chrome Android: Strict mode is required.Opera: Strict mode is required.Opera Android: Strict mode is required.Samsung Internet: Strict mode is required.WebView Android: Strict mode is required.
javascript.classes.extends 📋Safari9/30/2015 Firefox3/8/2016160
Chrome: Strict mode is required.Chrome Android: Strict mode is required.Opera: Strict mode is required.Opera Android: Strict mode is required.Samsung Internet: Strict mode is required.WebView Android: Strict mode is required.
javascript.classes.private_class_fields 📋Safari4/26/2021 Firefox7/13/202178
javascript.classes.private_class_fields_in 📋Firefox7/13/2021 Safari9/20/202169
javascript.classes.private_class_methods 📋Firefox7/13/2021 Safari9/20/202169
javascript.classes.public_class_fields 📋Firefox9/3/2019 Safari9/12/20221105
Safari: Parentheses in field initializers can lead to ReferenceErrors. See bug 236843.Safari: Doesn't support public static fields. See bug 194095.Safari on iOS: Parentheses in field initializers can lead to ReferenceErrors. See bug 236843.Safari on iOS: Doesn't support public static fields. See bug 194095.WebView on iOS: Parentheses in field initializers can lead to ReferenceErrors. See bug 236843.WebView on iOS: Doesn't support public static fields. See bug 194095.
javascript.classes.static 📋Safari9/30/2015 Firefox3/8/2016160
Chrome: Strict mode is required.Chrome Android: Strict mode is required.Opera: Strict mode is required.Opera Android: Strict mode is required.Samsung Internet: Strict mode is required.WebView Android: Strict mode is required.
javascript.classes.static.class_fields 📋Firefox4/7/2020 Safari4/26/2021384
javascript.classes.static.initialization_blocks 📋Firefox10/5/2021 Safari3/27/2023538
javascript.functions 📋Safari6/23/2003 Firefox11/9/2004505
javascript.functions.arguments 📋Safari6/23/2003 Firefox11/9/2004505
javascript.functions.arguments.@@iterator 📋Safari9/30/2015 Firefox4/26/2016209
javascript.functions.arguments.callee 📋Safari6/23/2003 Firefox11/9/2004505
javascript.functions.arguments.length 📋Safari6/23/2003 Firefox11/9/2004505
javascript.functions.arrow_functions 📋Firefox6/25/2013 Safari9/20/20161183
Firefox: The initial implementation of arrow functions in Firefox made them automatically strict. This has been changed as of Firefox 24. The use of 'use strict'; is now required.Firefox: Before Firefox 39, a line terminator (\n) was incorrectly allowed after arrow function arguments. This has been fixed to conform to the ES2015 specification and code like () \n => {} will now throw a SyntaxError in this and later versions.Firefox for Android: The initial implementation of arrow functions in Firefox for Android made them automatically strict. This has been changed as of Firefox for Android 24. The use of 'use strict'; is now required.Firefox for Android: Before Firefox for Android 39, a line terminator (\n) was incorrectly allowed after arrow function arguments. This has been fixed to conform to the ES2015 specification and code like () \n => {} will now throw a SyntaxError in this and later versions.
javascript.functions.arrow_functions.trailing_comma Safari9/20/2016 Firefox3/7/2017168
javascript.functions.block_level_functions Firefox4/26/2016 Safari9/20/2016147
javascript.functions.default_parameters 📋Firefox8/28/2012 Safari9/20/20161484
javascript.functions.default_parameters.destructured_parameter_with_default_value_assignment Firefox9/22/2015 Safari9/20/2016364
javascript.functions.default_parameters.parameters_without_defaults_after_default_parameters Firefox12/10/2013 Safari9/20/20161015
javascript.functions.get 📋Firefox11/29/2005 Safari10/26/2007696
javascript.functions.get.computed_property_names Firefox12/1/2014 Safari3/21/2016476
javascript.functions.method_definitions 📋Firefox12/1/2014 Safari9/30/2015303
javascript.functions.method_definitions.async_generator_methods Firefox11/14/2017 Safari9/17/2018307
javascript.functions.method_definitions.async_methods Firefox3/7/2017 Safari3/27/201720
javascript.functions.method_definitions.generator_methods_not_constructable Firefox12/15/2015 Safari3/21/201697
javascript.functions.rest_parameters 📋Firefox8/28/2012 Safari9/20/20161484
javascript.functions.rest_parameters.destructuring Safari9/20/2016 Firefox3/7/2017168
javascript.functions.set 📋Firefox11/29/2005 Safari10/26/2007696
javascript.functions.set.computed_property_names Firefox12/1/2014 Safari3/21/2016476
javascript.grammar.array_literals 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.binary_numeric_literals 📋Firefox10/29/2013 Safari9/30/2015701
javascript.grammar.boolean_literals 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.decimal_numeric_literals 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.hashbang_comments 📋Firefox5/21/2019 Safari3/24/2020308
javascript.grammar.hexadecimal_escape_sequences 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.hexadecimal_numeric_literals 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.null_literal 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.numeric_separators 📋Safari9/19/2019 Firefox10/22/201933
javascript.grammar.octal_numeric_literals 📋Firefox10/29/2013 Safari9/30/2015701
javascript.grammar.regular_expression_literals 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.shorthand_object_literals Firefox10/14/2014 Safari9/30/2015351
javascript.grammar.string_literals 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.template_literals 📋Firefox12/1/2014 Safari9/30/2015303
javascript.grammar.template_literals.template_literal_revision Firefox4/19/2017 Safari9/19/2017153
javascript.grammar.trailing_commas 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.trailing_commas.trailing_commas_in_dynamic_import 📋Safari9/20/2021 Firefox4/29/20251317
Node.js: The second parameter no longer throws a parser error, but the --experimental-json-modules flag is still needed to load JSON modules.
javascript.grammar.trailing_commas.trailing_commas_in_functions Safari9/20/2016 Firefox3/7/2017168
javascript.grammar.trailing_commas.trailing_commas_in_object_literals Firefox11/9/2004 Safari10/26/20071081
javascript.grammar.unicode_escape_sequences 📋Safari6/23/2003 Firefox11/9/2004505
javascript.grammar.unicode_point_escapes 📋Firefox8/11/2015 Safari9/30/201550
javascript.operators.addition 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.addition_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.async_function 📋Firefox3/7/2017 Safari3/27/201720
javascript.operators.async_generator_function 📋Firefox11/14/2017 Safari9/17/2018307
javascript.operators.await 📋Firefox3/7/2017 Safari3/27/201720
javascript.operators.await.top_level 📋Firefox6/1/2021 Safari9/20/2021111
Node.js: Not supported in CommonJS modules.Safari: Doesn't support multiple modules simultaneously importing a module containing a top-level await (see bug 242740).Safari on iOS: Doesn't support multiple modules simultaneously importing a module containing a top-level await (see bug 242740).WebView on iOS: Doesn't support multiple modules simultaneously importing a module containing a top-level await (see bug 242740).
javascript.operators.bitwise_and 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.bitwise_and_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.bitwise_not 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.bitwise_or 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.bitwise_or_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.bitwise_xor 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.bitwise_xor_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.class 📋Safari10/22/2013 Firefox3/8/2016868
javascript.operators.comma 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.conditional 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.decrement 📋Firefox11/9/2004 Safari6/8/20091672
javascript.operators.delete 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.destructuring 📋Safari10/16/2014 Firefox9/22/2015341
Firefox: Firefox provided a non-standard destructuring implementation from Firefox 2 to 40.Firefox for Android: Firefox for Android provided a non-standard destructuring implementation from Firefox for Android 4 to 40.
javascript.operators.destructuring.computed_property_names Firefox9/22/2015 Safari9/20/2016364
javascript.operators.destructuring.rest_in_arrays Firefox9/22/2015 Safari3/21/2016181
javascript.operators.destructuring.rest_in_objects Firefox8/8/2017 Safari4/12/2018247
javascript.operators.division 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.division_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.equality 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.exponentiation 📋Firefox3/7/2017 Safari3/27/201720
javascript.operators.exponentiation_assignment 📋Firefox3/7/2017 Safari3/27/201720
javascript.operators.function 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.function.trailing_comma Safari9/20/2016 Firefox3/7/2017168
javascript.operators.generator_function 📋Firefox12/10/2013 Safari9/20/20161015
javascript.operators.generator_function.trailing_comma Safari9/20/2016 Firefox3/7/2017168
javascript.operators.greater_than 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.greater_than_or_equal 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.grouping 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.import 📋Safari4/12/2018 Firefox5/21/2019404
Deno: Bundled Deno applications (using deno compile) do not support dynamic importsNode.js: Dynamic import can be used in either CommonJS or ES module files, to import either CommonJS or ES module files. See Node's ECMAScript Modules documentation for more details.Node.js: Dynamic import can be used in either CommonJS or ES module files, to import either CommonJS or ES module files. See Node's ECMAScript Modules documentation for more details.
javascript.operators.import.options_parameter 📋Safari9/20/2021 Firefox4/29/20251317
Node.js: The second parameter no longer throws a parser error, but the --experimental-json-modules flag is still needed to load JSON modules.
javascript.operators.import.worker_support Safari9/20/2021 Firefox6/6/2023624
javascript.operators.import_meta 📋Safari4/12/2018 Firefox9/5/2018146
javascript.operators.import_meta.resolve 📋Firefox10/18/2022 Safari3/27/2023160
Node.js: Returns a URL object instead of a string.
javascript.operators.in 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.increment 📋Firefox11/9/2004 Safari6/8/20091672
javascript.operators.inequality 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.instanceof 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.left_shift 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.left_shift_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.less_than 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.less_than_or_equal 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.logical_and 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.logical_and_assignment 📋Firefox7/28/2020 Safari9/16/202050
javascript.operators.logical_not 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.logical_or 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.logical_or_assignment 📋Firefox7/28/2020 Safari9/16/202050
javascript.operators.multiplication 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.multiplication_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.new 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.new_target 📋Firefox9/22/2015 Safari9/19/2017728
javascript.operators.null 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.nullish_coalescing 📋Firefox1/7/2020 Safari3/24/202077
javascript.operators.nullish_coalescing_assignment 📋Firefox7/28/2020 Safari9/16/202050
javascript.operators.object_initializer 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.object_initializer.computed_property_names Safari10/16/2014 Firefox12/1/201446
javascript.operators.object_initializer.shorthand_method_names Firefox12/1/2014 Safari9/30/2015303
javascript.operators.object_initializer.shorthand_property_names Firefox10/14/2014 Safari9/30/2015351
javascript.operators.object_initializer.spread_properties Firefox8/8/2017 Safari4/12/2018247
javascript.operators.optional_chaining 📋Firefox3/10/2020 Safari3/24/202014
javascript.operators.property_accessors 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.remainder 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.remainder_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.right_shift 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.right_shift_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.spread 📋Firefox10/9/2012 Safari10/16/2014737
javascript.operators.spread.spread_in_arrays 📋Firefox10/9/2012 Safari10/16/2014737
javascript.operators.spread.spread_in_function_calls 📋Firefox2/4/2014 Safari10/16/2014254
javascript.operators.spread.spread_in_object_literals 📋Firefox8/8/2017 Safari4/12/2018247
javascript.operators.strict_equality 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.strict_inequality 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.subtraction 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.subtraction_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.super 📋Safari10/22/2013 Firefox3/8/2016868
javascript.operators.this 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.typeof 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.unary_negation 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.unary_plus 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.unsigned_right_shift 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.unsigned_right_shift_assignment 📋Safari6/23/2003 Firefox11/9/2004505
javascript.operators.void 📋Firefox11/9/2004 Safari3/18/20081225
javascript.operators.yield 📋Firefox12/10/2013 Safari9/20/20161015
Firefox: Starting with Firefox 33, the parsing of the yield expression has been updated to conform with the ES2015 specification.Firefox: Starting with Firefox 29, an IteratorResult object returned for completed generator function.Firefox for Android: Starting with Firefox for Android 33, the parsing of the yield expression has been updated to conform with the ES2015 specification.Firefox for Android: Starting with Firefox for Android 29, an IteratorResult object returned for completed generator function.
javascript.operators.yield_star 📋Firefox2/4/2014 Safari9/20/2016959
Firefox: Starting with Firefox 33, the parsing of the yield expression has been updated to conform with the ES2015 specification.Firefox for Android: Starting with Firefox for Android 33, the parsing of the yield expression has been updated to conform with the ES2015 specification.
javascript.regular_expressions.backreference 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.capturing_group 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.character_class 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.character_class_escape 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.character_escape 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.character_escape.unicode Firefox4/26/2016 Safari9/20/2016147
javascript.regular_expressions.disjunction 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.input_boundary_assertion 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.literal_character 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.lookahead_assertion 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.lookbehind_assertion 📋Firefox6/30/2020 Safari3/27/20231000
javascript.regular_expressions.modifier 📋Firefox10/29/2024 Safari9/15/2025321
javascript.regular_expressions.named_backreference 📋Safari4/12/2018 Firefox6/30/2020810
javascript.regular_expressions.named_capturing_group 📋Safari4/12/2018 Firefox6/30/2020810
javascript.regular_expressions.named_capturing_group.duplicate_named_capturing_groups Safari9/18/2023 Firefox8/6/2024323
javascript.regular_expressions.non_capturing_group 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.quantifier 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.unicode_character_class_escape 📋Safari4/12/2018 Firefox6/30/2020810
javascript.regular_expressions.wildcard 📋Safari6/23/2003 Firefox11/9/2004505
javascript.regular_expressions.word_boundary_assertion 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.async_function 📋Firefox3/7/2017 Safari3/27/201720
javascript.statements.async_generator_function 📋Firefox11/14/2017 Safari9/17/2018307
javascript.statements.block 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.break 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.class 📋Firefox3/8/2016 Safari3/27/2017384
Chrome: Strict mode is required.Chrome Android: Strict mode is required.Opera: Strict mode is required.Opera Android: Strict mode is required.Samsung Internet: Strict mode is required.WebView Android: Strict mode is required.
javascript.statements.const 📋Safari7/20/2011 Firefox2/24/20151315
Firefox: Before Firefox 13, const is implemented, but re-assignment is not failing.Firefox: Before Firefox 46, a TypeError was thrown on redeclaration instead of a SyntaxError.Firefox for Android: Before Firefox for Android 14, const is implemented, but re-assignment is not failing.Firefox for Android: Before Firefox for Android 46, a TypeError was thrown on redeclaration instead of a SyntaxError.
javascript.statements.continue 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.debugger 📋Firefox11/9/2004 Safari6/7/20102036
javascript.statements.do_while 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.empty 📋Firefox11/9/2004 Safari6/7/20102036
javascript.statements.export 📋Safari3/27/2017 Firefox5/9/2018408
Node.js: Modules must either have a filename ending in .mjs, or the nearest parent package.json file must contain "type": "module". See Node's ECMAScript Modules documentation for more details.
javascript.statements.export.arbitrary_module_namespace_identifier_names Firefox3/23/2021 Safari4/26/202134
javascript.statements.export.default 📋Safari3/27/2017 Firefox5/9/2018408
Node.js: Modules must either have a filename ending in .mjs, or the nearest parent package.json file must contain "type": "module". See Node's ECMAScript Modules documentation for more details.
javascript.statements.export.namespace 📋Firefox8/25/2020 Safari4/26/2021244
Node.js: Modules must either have a filename ending in .mjs, or the nearest parent package.json file must contain "type": "module". See Node's ECMAScript Modules documentation for more details.
javascript.statements.for 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.for_await_of 📋Firefox11/14/2017 Safari9/17/2018307
javascript.statements.for_in 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.for_of 📋Firefox6/5/2012 Safari10/22/2013504
Firefox: Before Firefox 51, using the for...of loop construct with the const keyword threw a SyntaxError ("missing = in const declaration").Firefox for Android: Before Firefox for Android 51, using the for...of loop construct with the const keyword threw a SyntaxError ("missing = in const declaration").
javascript.statements.for_of.async_iterators Safari10/22/2013 Firefox11/14/20171484
javascript.statements.for_of.closing_iterators Safari10/22/2013 Firefox4/19/20171275
javascript.statements.function 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.function.trailing_comma_in_parameters Safari9/20/2016 Firefox3/7/2017168
javascript.statements.generator_function 📋Firefox12/10/2013 Safari9/20/20161015
javascript.statements.generator_function.IteratorResult_object Firefox4/29/2014 Safari9/20/2016875
javascript.statements.generator_function.not_constructable_with_new Firefox12/15/2015 Safari9/20/2016280
javascript.statements.generator_function.trailing_comma_in_parameters Safari9/20/2016 Firefox3/7/2017168
javascript.statements.if_else 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.import 📋Safari3/27/2017 Firefox5/9/2018408
Node.js: Modules must either have a filename ending in .mjs, or the nearest parent package.json file must contain "type": "module". See Node's ECMAScript Modules documentation for more details.Node.js: Modules must either have a filename ending in .mjs, or the nearest parent package.json file must contain "type": "module". See Node's ECMAScript Modules documentation for more details.
javascript.statements.import.arbitrary_module_namespace_identifier_names Firefox3/23/2021 Safari4/26/202134
javascript.statements.import.import_attributes 📋Safari12/11/2023 Firefox4/29/2025505
javascript.statements.import.import_attributes.type_json Safari12/11/2023 Firefox4/29/2025505
javascript.statements.import.service_worker_support Safari9/20/2021 Firefox1/13/20261576
javascript.statements.import.worker_support Safari9/20/2021 Firefox6/6/2023624
javascript.statements.label 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.let 📋Firefox1/26/2016 Safari9/20/2016238
Chrome: Strict mode is required.Chrome Android: Strict mode is required.Edge: In Edge 12 and 13, let within a for loop initializer does not create a separate variable for each loop iteration as defined by ES2015. Instead, it behaves as though the loop were wrapped in a scoping block with the let immediately before the loop.Firefox: Before Firefox 44, let is only available to code blocks in HTML wrapped in a <script type="application/javascript;version=1.7"> block (or higher version) and has different semantics (e.g. no temporal dead zone).Firefox: Before Firefox 46, a TypeError is thrown on redeclaration instead of a SyntaxError.Firefox: Firefox 54 adds support of let in workers.Firefox for Android: Before Firefox for Android 44, let is only available to code blocks in HTML wrapped in a <script type="application/javascript;version=1.7"> block (or higher version) and has different semantics (e.g. no temporal dead zone).Firefox for Android: Before Firefox for Android 46, a TypeError is thrown on redeclaration instead of a SyntaxError.Firefox for Android: Firefox for Android 54 adds support of let in workers.Internet Explorer: In Internet Explorer, let within a for loop initializer does not create a separate variable for each loop iteration as defined by ES2015. Instead, it behaves as though the loop were wrapped in a scoping block with the let immediately before the loop.Samsung Internet: Strict mode is required.WebView Android: Strict mode is required.
javascript.statements.return 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.switch 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.throw 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.try_catch 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.try_catch.optional_catch_binding Firefox1/23/2018 Safari4/12/201879
javascript.statements.var 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.while 📋Safari6/23/2003 Firefox11/9/2004505
javascript.statements.with 📋Safari6/23/2003 Firefox11/9/2004505