为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守候你守候我 2019-11-04 10:59:05
我正在使用Babel通过内置的本机Array扩展我的课程class NewArray extends Array {  first() {    return this[0];  }}var a = new NewArray(1, 2, 3);console.log(a.length); // 3console.log(a); // [ 1, 2, 3 ]console.log(a.first()); // trigger error在a.first()中,出现此错误:console.log(a.first());              ^ TypeError: a.first is not a function我是否应该做更多的事情来扩展内置的本机?谢谢!
查看完整描述

3 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

尽管我不明白为什么会收到错误(我无法重现此错误),但是您不会从first()函数中获得想要的结果。


您可以执行以下操作:


   class NewArray extends Array {

      constructor(){

        super();

        this.first = function(){ return this[0]; }

      }

    }


    var a = new NewArray();

    a.push(10);

    console.log(a.first()); // 10


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 345 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号