小编典典

使用Babel扩展ES6中的内置本机

javascript

我正在使用Babel通过内置的本机Array扩展我的课程

class NewArray extends Array {
  first() {
    return this[0];
  }
}

var a = new NewArray(1, 2, 3);
console.log(a.length); // 3
console.log(a); // [ 1, 2, 3 ]
console.log(a.first()); // trigger error

在a.first()中,出现此错误:

console.log(a.first());
              ^

TypeError: a.first is not a function

我是否应该做更多的事情来扩展内置的本机?

谢谢!


阅读 301

收藏
2020-05-01

共1个答案

小编典典

Babel不支持扩展本机类。它已在5.2.17版本中删除

它不可能被添加,因为它不是可以模拟的功能。我们将不得不等待浏览器的本机支持(有些人已经在实验模式下支持它)。这也意味着它当前在不同的浏览器中的行为会有所不同。

2020-05-01