JavaScript Feature Reference: new.target
Metaproperty Web Browser Support Test
1. Introduction
In this web page there are two web browser JavaScript feature support tests; 1.) a feature implementation test, and 2.) a feature capability test. First, the implementation test is run. The implementation test determines if the web browser recognizes the JavaScript new.target
metaproperty. The implementation test is a simple test for the presence of web browser support, and a definitive test for the absence of web browser support. If the web browser does not recognize the JavaScript new.target
metaproperty, the testing is stopped and the implementation test reports: Fail (no support): The web browser does not recognize the JavaScript
new.target
metaproperty. The web browser does not support the JavaScript new.target
metaproperty.
If the web browser recognizes the JavaScript new.target
metaproperty, the capability test is run. The capability test determines if the web browser's implementation of the JavaScript new.target
metaproperty includes support for at least one new.target
metaproperty capability. The capability test is a more definitive, albeit not an all inclusive, test for the presence of web browser support. If the web browser's implementation of the JavaScript new.target
metaproperty includes support for the tested capability, the capability test reports: Pass (at least partial/possibly full support): The web browser recognizes the JavaScript
If the web browser's implementation of the JavaScript new.target
metaproperty, and supports at least one new.target
metaproperty capability. The web browser at least partially/possibly fully supports the JavaScript new.target
metaproperty. Positive determination of full web browser support is beyond the scope of this test.new.target
metaproperty does not include support for the tested capability, the capability test reports: Pass/Fail (partial support): The web browser recognizes the JavaScript
new.target
metaproperty, but does not support at least one new.target
metaproperty capability. The web browser partially supports the JavaScript new.target
metaproperty.
The web browser support test source code is shown in Section 2.1. The web browser support test source code is run in Section 2.2, which shows the web browser support test result.
1.1. new.target
Metaproperty Web Browser Support
Pass (at least partial/possibly full support):
ED13+, FF41+, CH46+, OP33+.Fail (no support):
IE11-, SF5.1.7-.
1.2. Abbreviations
- IE = Internet Explorer.
- ED = Edge Legacy 12 - 18 (EdgeHTML based) and Edge 79+ (Chromium based).
- FF = Firefox.
- SF = Safari.
- CH = Chrome.
- OP = Opera.
2. new.target
Metaproperty Web Browser Support Test
2.1. Web Browser Support Test Source Code
<p id='testId'><b>Fail</b> (no support): The web browser does not recognize the JavaScript <code>new.target</code> metaproperty. The web browser does not support the JavaScript <code>new.target</code> metaproperty.</p><!-- Hard code Fail because web browser no support error stops JavaScript execution. --> <script> var callWithoutNewFallsThroughToElse = false; function Test(){ if (new.target){ // Call with new enters if. var element = document.getElementById("testId"); if ((callWithoutNewFallsThroughToElse === true) && (new.target !== undefined) && (new.target === Test)){ element.innerHTML = "<b>Pass</b> (at least partial/possibly full support): The web browser recognizes the JavaScript <code>new.target</code> metaproperty, and supports at least one <code>new.target</code> metaproperty capability. The web browser at least partially/possibly fully supports the JavaScript <code>new.target</code> metaproperty. Positive determination of full web browser support is beyond the scope of this test."; } else { element.innerHTML = "<b>Pass/Fail</b> (partial support): The web browser recognizes the JavaScript <code>new.target</code> metaproperty, but does not support at least one <code>new.target</code> metaproperty capability. The web browser partially supports the JavaScript <code>new.target</code> metaproperty."; } } else { // Call without new falls through to else. callWithoutNewFallsThroughToElse = true; } } var callWithoutNew = Test(); var callWithNew = new Test(); </script>
2.2. Web Browser Support Test Result
Fail (no support): The web browser does not recognize the JavaScript new.target
metaproperty. The web browser does not support the JavaScript new.target
metaproperty.