Closed timcosta closed 8 years ago
This relates to the behavior of Symbol.unscopables
, which browsers don't usually implement correctly, and is unshimmable. Try the same with "values" and "entries" - you'll see it's the actual function it's pulling off of the array.
At any rate this isn't caused nor exacerbated by es6-shim
, and is impossible to fix in JS.
(This shouldn't come up in real code, though, because nobody should ever be using the with
statement for any reason)
Unfortunately ExtJs 3.1.1 uses the exact function in the JsFiddle. Thanks for the information though, its going to be quite valuable while we work to solve this.
I would highly discourage using any libraries or frameworks that use the with
statement in 2015. ExtJS is up to 6.0, so if you're on 3.1.1 you may wish to upgrade - 3.0 came out in 2009, and as such, is ancient.
You don't have to tell me that haha. We are working to get away from it, but sometimes there are things higher up on the priority list.
I can't imagine what would be higher on the priority list than using 6 year old outdated software that is broken in modern browsers, but it's not up to me I guess :-)
If it ain't broke and the clients want other things, it's not high priority haha. Now that it has a known fault it'll likely be reevaluated.
ExtJs is the exact reason that unscopables exists—for the exact code that was cited here.
@rwaldron aha, i had a hunch that was the case. does that mean that Firefox should have a bug filed re unscopables?
See https://jsfiddle.net/dfqve80a/3/ in Firefox and Chrome for an example of the problem
Essentially, if you load
es6-shim
and then run the following code, the output should be[1,2,3]
instead ofSymbol.iterator
.This may also be affecting IE, however I do not have a version of IE handy to test with currently.