Is A Feature Not Fully Implemented If A Browser Does Not Have `ToStringTag` For The Feature?
I wonder we can say that a feature is not fully implemented when a browser does not have ToStringTag
for the feature.
For example, IE 11 supports Map, Set, and WeakMap but it does not have a ToStringTag for them. Thus, some unit tests failed in Lodash.
According to Mozilla documentation, there are three main causes of cross-browser issues: 1) "sometimes browsers have bugs, or implement features differently." 2) "some browsers may have different levels of support for technology features to others." and 3) "some devices may have constraints that cause a web site to run slowly, or display badly.".
I am analyzing causes of some cross-browser failures for a research paper. I think the example is related to the second cause. What is your opinion?
Answer
Since the specification that added Map
, Set
, and WeakMap
defined that they would have @@toStringTag and that Object.prototype.toString
would use it, then yes, if IE11 has (for instance) Map
but Object.prototype.toString.call(new Map)
doesn't return [object Map]
as it's specified that it should, Map
isn't fully implemented, it's partially implemented. And yes, that seems like a match for your #2.
Related Questions
- → How to update data attribute on Ajax complete
- → October CMS - Radio Button Ajax Click Twice in a Row Causes Content to disappear
- → Octobercms Component Unique id (Twig & Javascript)
- → Passing a JS var from AJAX response to Twig
- → Laravel {!! Form::open() !!} doesn't work within AngularJS
- → DropzoneJS & Laravel - Output form validation errors
- → Import statement and Babel
- → Uncaught TypeError: Cannot read property '__SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' of undefined
- → React-router: Passing props to children
- → ListView.DataSource looping data for React Native
- → Can't test submit handler in React component
- → React + Flux - How to avoid global variable
- → Webpack, React & Babel, not rendering DOM