Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix
typeof Symbol.prototype
(babel#3686)
* formatting * fix `typeof Symbol.prototype` Babel uses a helper function to return the correct value for `typeof obj` when obj is a Symbol and support for Symbol has been polyfilled. This function assumes that `obj.constructor === Symbol` implies `typeof obj === 'symbol'`. This isn't true when obj is `Symbol.prototype`. In that case (REPL from node 6, the same holds in Firefox): ``` > Symbol.prototype.constructor === Symbol true > typeof Symbol.prototype 'object' > ``` AFAICS, that's the only case where the assumption doesn't hold. The test added by this patch fails only on node 0.10, as 0.12 already has a native implementation of Symbol and the polyfill code doesn't run. This caused a problem in core-js when it's compiled with babel (the issue was isolated by @skozin here: zloirock/core-js#189 (comment)).
- Loading branch information