{
"javascript": {
"grammar": {
"array_literals": {
"__compat": {
"description": "Array literals ([1, 2, 3]
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Array_literals",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-array-initializer",
"tags": [
"web-features:array",
"web-features:snapshot:ecmascript-1"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "4"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "4"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"binary_numeric_literals": {
"__compat": {
"description": "Binary numeric literals (0b
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Binary",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-BinaryIntegerLiteral",
"tags": [
"web-features:snapshot:ecmascript-2015",
"web-features:number"
],
"support": {
"chrome": {
"version_added": "41"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "25"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "4.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "9"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"boolean_literals": {
"__compat": {
"description": "Boolean literals (true
/false
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Boolean_literal",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-boolean-literals",
"tags": [
"web-features:snapshot:ecmascript-1"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "3"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "3"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"decimal_numeric_literals": {
"__compat": {
"description": "Decimal numeric literals (1234567890
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Decimal",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-DecimalLiteral",
"tags": [
"web-features:snapshot:ecmascript-1",
"web-features:number"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "3"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "3"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"hashbang_comments": {
"__compat": {
"description": "Hashbang (#!
) comment syntax",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Hashbang_comments",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-hashbang",
"tags": [
"web-features:snapshot:ecmascript-2023"
],
"support": {
"chrome": {
"version_added": "74"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": "mirror",
"firefox": {
"version_added": "67"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "13.1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"hexadecimal_escape_sequences": {
"__compat": {
"description": "Hexadecimal escape sequences ('\\xA9'
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Hexadecimal_escape_sequences",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-HexEscapeSequence",
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "4"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "4"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"hexadecimal_numeric_literals": {
"__compat": {
"description": "Hexadecimal numeric literals (0xAF
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Hexadecimal",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-HexIntegerLiteral",
"tags": [
"web-features:snapshot:ecmascript-1",
"web-features:number"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "3"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "3"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"null_literal": {
"__compat": {
"description": "Null literal (null
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Null_literal",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-null-literals",
"tags": [
"web-features:snapshot:ecmascript-1"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "3"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "3"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"numeric_separators": {
"__compat": {
"description": "Numeric separators (1_000_000_000_000
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Numeric_separators",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-NumericLiteralSeparator",
"support": {
"chrome": {
"version_added": "75"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.2"
},
"edge": "mirror",
"firefox": {
"version_added": "70"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "12.5.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "13"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"octal_numeric_literals": {
"__compat": {
"description": "Octal numeric literals (0o
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Octal",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-OctalIntegerLiteral",
"tags": [
"web-features:snapshot:ecmascript-2015",
"web-features:number"
],
"support": {
"chrome": {
"version_added": "41"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "25"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "4.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "9"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"regular_expression_literals": {
"__compat": {
"description": "Regular expression literals (/ab+c/g
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Regular_expression_literals",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-literals-regular-expression-literals",
"tags": [
"web-features:snapshot:ecmascript-3",
"web-features:regexp"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "4"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "5"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"string_literals": {
"__compat": {
"description": "String literals ('Hello world'
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#String_literals",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#sec-literals-string-literals",
"tags": [
"web-features:snapshot:ecmascript-1",
"web-features:strings"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "3"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "3"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"unicode_escape_sequences": {
"__compat": {
"description": "Unicode escape sequences ('\\u00A9'
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Unicode_escape_sequences",
"spec_url": "https://tc39.es/ecma262/multipage/structured-data.html#sec-unicodeescape",
"tags": [
"web-features:snapshot:ecmascript-1"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "4"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "4"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"unicode_point_escapes": {
"__compat": {
"description": "Unicode point escapes (\\u{}
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Lexical_grammar#Unicode_code_point_escapes",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-UnicodeEscapeSequence",
"tags": [
"web-features:snapshot:ecmascript-2015"
],
"support": {
"chrome": {
"version_added": "44"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "40"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "4.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "9"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"shorthand_object_literals": {
"__compat": {
"description": "Shorthand notation for object literals",
"tags": [
"web-features:snapshot:ecmascript-2015"
],
"support": {
"chrome": {
"version_added": "43"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "33"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "4.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "9"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"template_literals": {
"__compat": {
"description": "Template literals",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Template_literals",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-template-literals",
"tags": [
"web-features:snapshot:ecmascript-2015"
],
"support": {
"chrome": {
"version_added": "41"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "34"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "4.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "9"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
},
"template_literal_revision": {
"__compat": {
"description": "Escape sequences allowed in tagged template literals",
"tags": [
"web-features:snapshot:ecmascript-2018"
],
"support": {
"chrome": {
"version_added": "62"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": "mirror",
"firefox": {
"version_added": "53"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "8.10.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "11"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
},
"trailing_commas": {
"__compat": {
"description": "Trailing commas",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Trailing_commas",
"spec_url": [
"https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#prod-Elision",
"https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#prod-ObjectLiteral",
"https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#prod-ArrayLiteral",
"https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#prod-Arguments",
"https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html#prod-FormalParameters",
"https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#prod-CoverParenthesizedExpressionAndArrowParameterList",
"https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#prod-NamedImports",
"https://tc39.es/ecma262/multipage/ecmascript-language-scripts-and-modules.html#prod-NamedExports",
"https://tc39.es/ecma262/multipage/text-processing.html#prod-QuantifierPrefix",
"https://tc39.es/ecma262/multipage/additional-ecmascript-features-for-web-browsers.html#prod-annexB-InvalidBracedQuantifier"
],
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "9"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "9.5"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
},
"trailing_commas_in_dynamic_import": {
"__compat": {
"description": "Trailing comma in dynamic import",
"support": {
"chrome": {
"version_added": "91"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.17"
},
"edge": "mirror",
"firefox": {
"version_added": false,
"impl_url": "https://bugzil.la/1736059"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": [
{
"version_added": "17.5.0"
},
{
"version_added": "16.15.0",
"version_removed": "17.0.0"
},
{
"version_added": "16.14.0",
"version_removed": "16.15.0",
"partial_implementation": true,
"notes": "The second parameter no longer throws a parser error, but the --experimental-json-modules
flag is still needed to load JSON modules."
}
],
"oculus": "mirror",
"opera": {
"version_added": false
},
"opera_android": {
"version_added": false
},
"safari": {
"version_added": "15"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": false,
"deprecated": false
}
}
},
"trailing_commas_in_functions": {
"__compat": {
"description": "Trailing comma in function parameters",
"support": {
"chrome": {
"version_added": "58"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "14"
},
"firefox": {
"version_added": "52"
},
"firefox_android": "mirror",
"ie": {
"version_added": false
},
"nodejs": {
"version_added": "8.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "10"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"trailing_commas_in_object_literals": {
"__compat": {
"description": "Trailing comma in object literals",
"support": {
"chrome": {
"version_added": "1"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "1"
},
"firefox_android": "mirror",
"ie": {
"version_added": "9"
},
"nodejs": {
"version_added": "0.10.0"
},
"oculus": "mirror",
"opera": {
"version_added": "9.5"
},
"opera_android": {
"version_added": "10.1"
},
"safari": {
"version_added": "3"
},
"safari_ios": {
"version_added": "1"
},
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
}
}