Мне нужен именно shallow copy. Чтоб я сам мог выбирать какие поля с объектами клонировать, а какие оставлять как ссылку на старый объект. Короче весьма специфичная у меня задача, вряд ли кто с ней ваще сталкивался на этом языке (кому ваще нужно писать симуляцию с поддержкой роллбека на джабаскрипте).
Сериализацию рассматривал как вариант, решил что будет слишком медленно и более запарно всё это писать. Shallow copy и выборочное клонирование полей объектов - неплохой такой срез.
Ну как бы всем надо, все писали, и все сериализировали.
На твоём месте я бы делал статический маппинг в аррейбуфер. Считай упаковка объекта в структуру. - проще по сети гонять.
Декораторы твое все.
Протобуфф для этого + схема.
Но ты реально там херь написал.
Если ты юзаешь классы, то не надо брать Object.create / Object.assign чтобы не ломать стилистику, и он ещё медленнее чем вызвать конструктор.