{ "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 } } } } } } }