

JSON.parse(JSON.stringify(жертва клонирования))
. Потому что есть structuredClone
, делающий то же самое без лишней возни с преобразованием в строки и обратным парсингом.Все-таки Vuex, каким бы чудесным не казался, стал реликтом хотя бы из-за отсутствия поддержки TS "из коробки". Есть способ решить эту проблему закидыванием в рутовую директорию проекта вот такого заклинания под именем vuex.d.ts:
declare module "vuex" {
export * from "vuex/types/index.d.ts";
export * from "vuex/types/helpers.d.ts";
export * from "vuex/types/logger.d.ts";
export * from "vuex/types/vue.d.ts";
}
А еще - тяжеловесность и отсутствие встроенных способов превращения полей стора в реактивные переменные - только явно через ref/computed.
история смешная штука. Если только ты, вот именно ты, не живешь прям щас в ней. Но потомки посмеются, обещаю.
async/await
и его связь с промисами. Все сорта воркеров - WebWorkers, threadWorkers. Иногда спрашивают про вебсокетыsetTimeout/setInterval/requestAnimationFrame
исполняются в самом конце EventLoop, и между вызовом макротаски и запуском связанного с ней кода есть промежуток, в котором возможны манипуляции с DOMДва оффера, но один в Сколково, и до рабочего места мне тащиться 2 часа. Моя тематика, хорошие деньги и очень приятное впечатление от команды. Но после пары месяцев там я из человека превращусь в микросервис. Второй ближе к дому. По деньгам послабее, но зато у меня будет время после работы еще пожить. Задача - набрать достаточно альтернатив, все взвесить и к середине апреля сделать выбор. Ну и попутно подучиваю React. Может потребоваться.