thehighhomie: на том же learn.javascript.ru вроде рассмотрены функциональный стиль и прототипный с достоинствами и недостатками. Судя по всему, "создавать конструкторы в литералах объекта" - это просто немного иное стилевое оформление прототипного ооп.
А проще всего использовать вполне удобный синтаксис классов из ES6.
thehighhomie: так и не понимаю, что является критерием "лучшести", и как эти два примера вообще связаны, или противоречат друг другу. Вопрос из категории "сколько пробелов должно быть в отступе". Оба примера правильные, применяют то, что больше нравится.
WEBIVAN: при трансляции babelo получается обычный javascript, который всё прекрасно видит, и до трансляции в jsx можно спокойно использовать обычные переменные и функции.
HoHsi: я тоже только знаю про неё, а не использую. Самого веб-интерфейса открытого по идее нет, они на нём зарабатывают, сторонние только.
Кстати, много функционала в модулях, типа pmx.
khipster: есть разница между текущим кодом и кодом в очереди.
Нужно понимать, что javascript однопоточный и синхронный, код выполняется сразу от начала и до конца. А асинхронность это отдельный дополнительный механизм, реализуемый очередью событий.
khipster: невозможно, setTimeout ставит функцию в очередь, а текущий код работает синхронно, задание из очереди будет взято только после окончания текущего, даже если цикл займёт 10 секунд
гуглить javascript event loop
aiband: там помимо классов исплользуются из ES6 используются свойства классов из ES7, сейчас в babel они в stage 1, нужно подключать соответствующий пресет.
Andrey Dyrkov: когда в браузерах сделают встроенную поддержку модулей, тогда и не надо будет ничего подключать. А пока можно сборщики использовать, browserify или webpack.
Кстати, хорошую статью вспомнил - dmitrysoshnikov.com/ecmascript/ru-chapter-7-2-oop-...