Браузер Safari не выполняет мой код правильно? - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть следующий класс:

class Portal {

  caption = "";
  thumbnailURL = "";
  profileImgURL = "";
  mp3 = "";
  timestamp = 0.0;
  username = "";
  uid = "";
  num = 0;
  // var caption = new String();
  // var caption = "";
  // var thumbnailURL = "";
  // var profileImgURL = "";

  constructor(cap, thumb, prof, mp3, timestamp, username, uid) {
    this.caption = cap;
    this.thumbnailURL = thumb;
    this.profileImgURL = prof;
    this.mp3 = mp3;
    this.timestamp = timestamp;
    this.username = username;
    this.uid = uid;
  }
}

Когда я запускаю это в браузере Safari, я получаю две нижеуказанные ошибки.

SyntaxError: Неожиданный токен '='. Ожидается открытие '(' перед списком параметров метода.

И затем, несмотря на запуск сценария для класса портала перед основным. js сценарием, я получаю следующее:

Необработанный отказ от обещания: ReferenceError: Не удается найти переменную: Portal

Как это исправить?

1 Ответ

0 голосов
/ 07 февраля 2020

Объявления полей класса не завершены , поэтому я предполагаю, что Safari еще не поддерживает их. - ВЛАЗ 3 минуты go

Все, что нужно:

class Portal {

  constructor(cap, thumb, prof, mp3, timestamp, username, uid) {
    this.caption = cap;
    this.thumbnailURL = thumb;
    this.profileImgURL = prof;
    this.mp3 = mp3;
    this.timestamp = timestamp;
    this.username = username;
    this.uid = uid;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...