Экспорт метода в класс в ES2015
Я пытаюсь экспортировать метод toString самостоятельно, но он не работает. Первый экспорт работает нормально, но другой, который я добавил, не работает.
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
toString() {
return `(${this.x}, ${this.y}`;
}
}
export {Point as XPoint}; // this is working great
но это терпит неудачу
export {Point.prototype.toString as PointToString};
Каков правильный синтаксис экспорта для экспорта определенного метода в классе?
Вот ошибка, которую говорит веб-пакет:
ОШИБКА в./es6/Point.js Ошибка сборки модуля: SyntaxError: /Users/demouser/repos/webpack-es6-demo/es6/Point.js: неожиданный токен (12:13)
1 ответ
Решение
Вы можете использовать только идентификаторы внутри спецификаторов экспорта:
const PointToString = Point.prototype.toString;
export { PointToString }
См.: http://www.ecma-international.org/ecma-262/6.0/index.html.