Влад Куркин @B_Vladi
Fullstack web developer
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Fullstack Developer
Lead
From 300,000 ₽
JavaScript
TypeScript
Node.js
Webpack
Vue.js
React
HTML
CSS
Python
DevOps
Для меня лично одноразовость это минус. Именно по этому на каждый «then» создается новый объект (+несколько областей видимости). Это так же порождает и недостатки, указанные в посте. EventEmitter никогда не проглотит ошибку. И ещё куча минусов есть.
Все верно, промисы — навороченные колбеки. Но, как выше писали, это не панацея, есть и другие подходы. Я о событиях.
Никак не буду. Мне хватает обычного конструктора. Вспоминается поговорка про самовар.
Мой поинт в том, что эта фабрика вообще не нужна =)
Тем более, что в таком виде она сильно неэффективна, можно и нужно ее оптимизировать в производительности, а это уже не одна строчка.
Я прекрасно понимаю «проблему».
Она, как обычно, в головах. За пропущенный new надо давать по рукам, а не копипастить костыли из конструктора в конструктор.
Вообще, проблема топика надуманная.
Если используешь конструктор, напиши new и точка. Если фабрика — не пиши. Проблем нет.
Забыл/лень — ССЗБ.
Сами подсели, а теперь ноют.
Никто никого не заставлял им пользоваться. Выход всегда есть.
В последнее время стало модным пихать во все конструкторы проверку this instanceof Class, толпы JS-ников привыкли и напрочь забыли оператор new. Так что и такая запись сгодится для понимания =)
Тем не менее факт остается фактом: inline-скрипты выполняются при переходе вперед/назад.
Важно уточнить, что не выполняются только внешние скрипты, подключенные через script src="". Inline-скрипты выполняются всегда. Не берусь утверждать, но по-моему так будет более кроссбраузерно.