Приватные и не только переменные

293
29 октября 2017, 21:12

Есть задача подключить вебсокеты.

Выбором стал JavaScript и работающий модуль socket.io. Еще для работы с Javascript были установлены babel, flow и webpack.

Проблема

Когда я пишу классы:

class Rcon {
  constructor(host: string, port: number, pass: string, timeout: number) { 
    this.host = host;
    this.port = port;
    // code
  }
  // extra logic
}

то Flow линтер выдаёт:

Вопросы
  • Как мне прикажете работать с переменными в классах ES6 ?
  • Как эти переменные и некоторые методы обозначить private / protected ?
  • Что мне следует пересмотреть в своём подходе к кодингу на JS ?
Answer 1

Проблема в том, что во Flow перед использованием свойств их нужно объявить.

Например так:

class Rcon {
  host: string;
  port: number;
  constructor(host: string, port: number, pass: string, timeout: number) { 
    this.host = host;
    this.port = port;
  }
}

Этот факт даже отмечен в официальной документации:

Whenever you want to use a class field in Flow you must first give it an annotation.

READ ALSO
повесить\забрать класс active на JS

повесить\забрать класс active на JS

Господа, задача простая: повесить\забрать класс с массива ссылокНашёл код, где не пойму какую роль играет в while el

279
Как сверстать такую полосу?

Как сверстать такую полосу?

как свертсать такую полосу, чтобы потом я так понимаю посредством логики(счетчика) она корректно продолжалась

285
Почему такое отображение в консоли?

Почему такое отображение в консоли?

1: Создал объект через конструктор и заменил свойство constructor в прототипе

318
Что делает эта строка?

Что делает эта строка?

Хотел бы узнать, что делает эта строка в условии if? Заранее больше спасибо за ответ :)

238