JavaScript Feature Reference: values()
Method On Maps 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 values()
method on maps. 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 values()
method on maps, the testing is stopped and the implementation test reports: Fail (no support): The web browser does not recognize the JavaScript
values()
method on maps. The web browser does not support the JavaScript values()
method on maps.
If the web browser recognizes the JavaScript values()
method on maps, the capability test is run. The capability test determines if the web browser's implementation of the JavaScript values()
method on maps includes support for at least one values()
method on maps 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 values()
method on maps 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 values()
method on maps, and supports at least one values()
method on maps capability. The web browser at least partially/possibly fully supports the JavaScript values()
method on maps. Positive determination of full web browser support is beyond the scope of this test.values()
method on maps does not include support for the tested capability, the capability test reports: Pass/Fail (partial support): The web browser recognizes the JavaScript
values()
method on maps, but does not support at least one values()
method on maps capability. The web browser partially supports the JavaScript values()
method on maps.
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. values()
Method On Maps Web Browser Support
Pass (at least partial/possibly full support):
ED12+, FF27+, CH38+, OP25+.Pass/Fail (partial support):
FF20 - 26.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. values()
Method On Maps 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>values()</code> method on maps. The web browser does not support the JavaScript <code>values()</code> method on maps.</p><!-- Hard code Fail because web browser no support error stops JavaScript execution. --> <script> var testMap = new Map(); // IE11 does not support maps initialized with an iterable. Hence, use Map constructor and set() method. testMap.set("keyOne", "a"); testMap.set("keyTwo", "b"); testMap.set("keyThree", "c"); // testMap is {"keyOne" => "a", "keyTwo" => "b", "keyThree" => "c"}. var testMapIteratorValues = testMap.values(); // Get reference to map built-in map iterator object called by values() method. NOTE: values() method can be considered a generator function. Call values() generator function. Call returns a Generator object which inherits prototype from Object (window.Generator property does not exist) and is an iterator. Generator object has next() method property. Called by values(), map iterator object next() method return object value property is set to map element value. var testMapIteratorValuesNextValues = []; for (var i = 0; i < testMap.size; i++){ // Identical to for (var value of testMap.values()){console.log(value);}. 1.) "a", 2.) "b", 3.) "c". testMapIteratorValuesNextValues[i] = testMapIteratorValues.next().value; } if (testMap.values){ var element = document.getElementById("testId"); if ((typeof testMapIteratorValues === "object") && testMapIteratorValues instanceof Object && Object.prototype.isPrototypeOf(testMapIteratorValues) && (typeof testMapIteratorValuesNextValues[0] === "string") && (testMapIteratorValuesNextValues[0] === "a") && (testMapIteratorValuesNextValues[1] === "b") && (testMapIteratorValuesNextValues[2] === "c")){ element.innerHTML = "<b>Pass</b> (at least partial/possibly full support): The web browser recognizes the JavaScript <code>values()</code> method on maps, and supports at least one <code>values()</code> method on maps capability. The web browser at least partially/possibly fully supports the JavaScript <code>values()</code> method on maps. 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>values()</code> method on maps, but does not support at least one <code>values()</code> method on maps capability. The web browser partially supports the JavaScript <code>values()</code> method on maps."; } } </script>
2.2. Web Browser Support Test Result
Fail (no support): The web browser does not recognize the JavaScript values()
method on maps. The web browser does not support the JavaScript values()
method on maps.