当前位置:  开发笔记 > 编程语言 > 正文

有没有办法在babelify中关闭"超级之前不允许这样的规则"?

如何解决《有没有办法在babelify中关闭"超级之前不允许这样的规则"?》经验,为你挑选了1个好方法。

我正在使用Gulp运行babelify 7.2.0并且我在以下代码中收到错误:

class One {}

class Two extends One {
  constructor() {
    this.name = 'John';
  }
}

以下是错误的关键:

SyntaxError: [the file path in question]: 'this' is not allowed before super()
  20 | class Two extends One {
  21 |   constructor() {
> 22 |     this.name = 'John';
     |     ^
  23 |   }
  24 | }
  25 | 

在我看来,这不应该被解雇,因为我根本没有super在构造函数中进行任何调用,因此没有冲突的风险.我已经在Github上提交了一个问题,但我想知道是否有办法可以在同一时间关闭它.



1> vaultah..:

这不是一个错误.子类必须在尝试访问之前super 显式调用this:

class Two extends One {
    constructor(...args) {
        super(...args);
        this.name = 'John';
    }
}

这在ECMAScript标准中定义(参见本答案),Babel密切关注它.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有