В настоящее время я использую Babel для написания бэкэнда Node.js в ES6. К сожалению, я обнаружил странное поведение при расширении определенного класса. Некоторые из моих методов, определенных в расширяющемся классе, не определены. Если я не использую синтаксис ES7, чтобы привязать их к свойству.Методы расширенного класса Babel/ES6 undefined
Это фактический код, который дает мне это странное поведение:
import { Router } from 'express';
class MyCustomRouter extends Router
{
constructor() {
super();
this.methodWorks(); // works like a charm.
this.methodDoesnt(); // throws TypeError: _this.methodDoesnt is not a function
}
methodWorks =() => {
// some content
}
methodDoesnt() {
// some content
}
}
Это фактически расширяет Router
из expressjs
библиотеки. Поэтому прямо сейчас мне просто интересно, сможет ли кто-нибудь объяснить это поведение и/или если есть способ исправить это.
Я использую _Express_ ** 4.13.3 ** и _Babel_ ** 6.4.6 ** с помощью плагинов _es2015_, _stage-0_, _stage- 1_, _stage-2_ и _stage-3_. – byCedric