blob: 5777560efe3a026a55c25bdeed5f13b219830166 [file] [log] [blame] [edit]
{
"javascript": {
"classes": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html#sec-class-definitions",
"tags": [
"web-features:class-syntax",
"web-features:snapshot:ecmascript-2015"
],
"support": {
"chrome": [
{
"version_added": "49"
},
{
"version_added": "42",
"version_removed": "49",
"notes": "Strict mode is required."
}
],
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "13"
},
"firefox": {
"version_added": "45"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "6.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
}
},
"constructor": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/constructor",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html#sec-static-semantics-constructormethod",
"tags": [
"web-features:class-syntax",
"web-features:snapshot:ecmascript-2015"
],
"support": {
"chrome": [
{
"version_added": "49"
},
{
"version_added": "42",
"version_removed": "49",
"notes": "Strict mode is required."
}
],
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "13"
},
"firefox": {
"version_added": "45"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "6.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
}
}
},
"extends": {
"__compat": {
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/extends",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html#sec-class-definitions",
"tags": [
"web-features:class-syntax",
"web-features:snapshot:ecmascript-2015"
],
"support": {
"chrome": [
{
"version_added": "49"
},
{
"version_added": "42",
"version_removed": "49",
"notes": "Strict mode is required."
}
],
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "13"
},
"firefox": {
"version_added": "45"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "6.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
}
}
},
"private_class_fields": {
"__compat": {
"description": "Private class fields",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/Private_elements",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-PrivateIdentifier",
"tags": [
"web-features:class-syntax"
],
"support": {
"chrome": {
"version_added": "74"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": "mirror",
"firefox": {
"version_added": "90"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "12.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "14.1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"private_class_fields_in": {
"__compat": {
"description": "Private class fields 'in'",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/Private_elements",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-expressions.html#prod-00OK517S",
"tags": [
"web-features:class-syntax"
],
"support": {
"chrome": {
"version_added": "91"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.9"
},
"edge": "mirror",
"firefox": {
"version_added": "90"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "16.4.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "15"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"private_class_methods": {
"__compat": {
"description": "Private class methods",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/Private_elements",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-lexical-grammar.html#prod-PrivateIdentifier",
"tags": [
"web-features:class-syntax"
],
"support": {
"chrome": {
"version_added": "84"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": "mirror",
"firefox": {
"version_added": "90"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "14.6.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "15"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"public_class_fields": {
"__compat": {
"description": "Public class fields",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/Public_class_fields",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html#prod-FieldDefinition",
"tags": [
"web-features:class-syntax"
],
"support": {
"chrome": {
"version_added": "72"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": "mirror",
"firefox": {
"version_added": "69"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "12.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": [
{
"version_added": "16"
},
{
"version_added": "14.1",
"version_removed": "16",
"partial_implementation": true,
"notes": "Parentheses in field initializers can lead to `ReferenceError`s. See [bug 236843](https://webkit.org/b/236843)."
},
{
"version_added": "14",
"version_removed": "14.1",
"partial_implementation": true,
"notes": "Doesn't support public static fields. See [bug 194095](https://webkit.org/b/194095)."
}
],
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"static": {
"__compat": {
"description": "`static` keyword",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/static",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html#sec-class-definitions",
"tags": [
"web-features:class-syntax",
"web-features:snapshot:ecmascript-2015"
],
"support": {
"chrome": [
{
"version_added": "49"
},
{
"version_added": "42",
"version_removed": "49",
"notes": "Strict mode is required."
}
],
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": {
"version_added": "13"
},
"firefox": {
"version_added": "45"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "6.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
}
},
"class_fields": {
"__compat": {
"description": "Static class fields",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/Public_class_fields",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html#prod-FieldDefinition",
"tags": [
"web-features:class-syntax"
],
"support": {
"chrome": {
"version_added": "72"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.0"
},
"edge": "mirror",
"firefox": {
"version_added": "75"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "12.0.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "14.1"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
},
"initialization_blocks": {
"__compat": {
"description": "Static initialization blocks",
"mdn_url": "https://developer.mozilla.org/docs/Web/JavaScript/Reference/Classes/Static_initialization_blocks",
"spec_url": "https://tc39.es/ecma262/multipage/ecmascript-language-functions-and-classes.html#prod-ClassStaticBlock",
"tags": [
"web-features:class-syntax"
],
"support": {
"chrome": {
"version_added": "94"
},
"chrome_android": "mirror",
"deno": {
"version_added": "1.14"
},
"edge": "mirror",
"firefox": {
"version_added": "93"
},
"firefox_android": "mirror",
"nodejs": {
"version_added": "16.11.0"
},
"oculus": "mirror",
"opera": "mirror",
"opera_android": "mirror",
"safari": {
"version_added": "16.4"
},
"safari_ios": "mirror",
"samsunginternet_android": "mirror",
"webview_android": "mirror",
"webview_ios": "mirror"
},
"status": {
"experimental": false,
"standard_track": true,
"deprecated": false
}
}
}
}
}
}
}