Экспорт метода в класс в 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.

Другие вопросы по тегам