Size: a a a

2021 April 29

К

Константин in GameDev for Web
ну типа:

function nullCtor(classCtor ) { 
      return new Proxy(classCtor, {
            construct(): { return null; }
      })
}

@nullCtor
class A{

}
источник

К

Константин in GameDev for Web
прокся перехватит конструктор, остальное ВРОДЕ будет из оригинала
источник

К

Константин in GameDev for Web
Неее
источник

К

Константин in GameDev for Web
даже так не канает
источник

К

Константин in GameDev for Web
источник

К

Константин in GameDev for Web
там как раз об этом написано =) что хрен там.
конструктор должен быть конструктором
источник

EP

Evgeniy Pavlov in GameDev for Web
что-то ты намудрил. все проще ))
источник

К

Константин in GameDev for Web
ну это фабрика
источник

К

Константин in GameDev for Web
никто не мешает сделать new Segment()
источник

К

Константин in GameDev for Web
я бы сделал throw идиот, сегменты имеют общую точку
источник

EP

Evgeniy Pavlov in GameDev for Web
так у меня как раз и было раньше ))
источник

EP

Evgeniy Pavlov in GameDev for Web
но null удобнее обрабатывать ))
источник

EP

Evgeniy Pavlov in GameDev for Web
чем try catch ловить )
источник

EP

Evgeniy Pavlov in GameDev for Web
и, что самое главное, так намного быстрее работает
источник

EP

Evgeniy Pavlov in GameDev for Web
throw очень дорогая операция
источник

К

Константин in GameDev for Web
Ну да :)
источник

К

Константин in GameDev for Web
Но throw не должно срабатывать
источник

К

Константин in GameDev for Web
Нужно сначала фильтровать руками
источник

К

Константин in GameDev for Web
А то у тебя получается что ты внутри конструктора фильтруешь
источник

К

Константин in GameDev for Web
Прям дикий антипаттерн
источник