es6扩展父类undefined

时间:2016-05-18 18:27:09

标签: javascript ecmascript-6

我有2个非常简单的类,一个是父类Calendar,另一个是子类MonthCalendar

calendar.js:

import MonthCalendar from './month-calendar';

export default class Calendar {
  constructor() {
    this.date = new Date();
  }

  displayMonthCalendar(){
    var mcal = new MonthCalendar();
    mcal.generate();
  }
}

var cal = new Calendar();
cal.displayMonthCalendar();

月calendar.js:

import Calendar from './calendar';

export default class MonthCalendar extends Calendar {
  constructor() {
    super()
  }

  generate() {
    alert('working');
  }
}

当我尝试运行时,我不断收到错误:

Uncaught TypeError: Super expression must either be null or a function, not undefined

它告诉我Calendar未定义;但是,如果我不扩展Calendar并在generate()方法中使用它,则不是未定义的:

月calendar.js:

import Calendar from './calendar';

export default class MonthCalendar {
  generate() {
    console.log(new Calendar());
  }
}

不会引发任何错误。

0 个答案:

没有答案