我想扩展原生数组
class MyArray extends Array {}
但是这个特性不能被 Babel 转译为 es5。出于我的目的,用自己的版本填充 Array 类就足够了,这样 es5 用户仍然可以拥有一个有效的对象,而无需使用原生 Array 魔法。
我的想法是检查环境是否支持扩展原生类型,如果支持,则使用 Array。如果没有,请使用 polyfilled Array。
如何检查它是否受支持?
最佳答案
在当前的 Chrome 上,此代码报告 true
,但在 es2015 模式下的 Babel 中,它报告 false
,因为转译后的构造函数仍返回“真实的”Array
对象。:
class MyArray extends Array {};
let a = new MyArray(1, 2, 3, 4);
console.log(a instanceof MyArray);
关于javascript - 我如何检查环境是否支持像 Array 这样的扩展构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52950265/