blob: 5445ceb2ae367a715cc489b1f385a6c54930546d [file] [log] [blame] [edit]
{
"javascript": {
"grammar": {
"array_literals": {
"__compat": {
"description": "Array literals (`[1, 2, 3]`)",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/Array#array_literal_notation",
"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",
"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",
"web-features:javascript"
],
"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",
"web-features:hashbang-comments"
],
"support": {
"chrome": {
"version_added": "74"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": "mirror",
"firefox": {
"version_added": "67"
},
"firefox_android": "mirror",
"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",
"tags": [
"web-features:javascript"
],
"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",
"web-features:javascript"
],
"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",
"tags": [
"web-features:numeric-seperators"
],
"support": {
"chrome": {
"version_added": "75"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.2"
},
"edge": "mirror",
"firefox": {
"version_added": "70"
},
"firefox_android": "mirror",
"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",
"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",
"web-features:javascript"
],
"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",
"web-features:unicode-point-escapes"
],
"support": {
"chrome": {
"version_added": "44"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "40"
},
"firefox_android": "mirror",
"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",
"web-features:object-object"
],
"support": {
"chrome": {
"version_added": "43"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "33"
},
"firefox_android": "mirror",
"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",
"web-features:template-literals"
],
"support": {
"chrome": {
"version_added": "41"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "12"
},
"firefox": {
"version_added": "34"
},
"firefox_android": "mirror",
"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",
"web-features:template-literals"
],
"support": {
"chrome": {
"version_added": "62"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": "mirror",
"firefox": {
"version_added": "53"
},
"firefox_android": "mirror",
"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"
],
"tags": [
"web-features:javascript"
],
"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",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#sec-import-call-runtime-semantics-evaluation",
"tags": [
"web-features:json-modules"
],
"support": {
"chrome": {
"version_added": "91"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.17"
},
"edge": "mirror",
"firefox": {
"version_added": "138"
},
"firefox_android": "mirror",
"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": true,
"deprecated": false
}
}
},
"trailing_commas_in_functions": {
"__compat": {
"description": "Trailing comma in function parameters",
"tags": [
"web-features:functions"
],
"support": {
"chrome": {
"version_added": "58"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "14"
},
"firefox": {
"version_added": "52"
},
"firefox_android": "mirror",
"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",
"tags": [
"web-features:javascript"
],
"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
}
}
}
}
}
}
}