structuredClone — глобальная функция для глубокого копирования объектов, массивов и других структур.
Поддержка есть начиная с Chrome 98, Firefox 94, Safari 15.4, Node.js 17.0.0 и Deno 1.14. Есть полифилл в core-js.
Как по мне, очень долгожданная штука: никаких теперь JSON.parse(JSON.stringify(foo))
. А помните immutable?
При желании вторым аргументом можно указать переменные, которые нужно передать как есть по ссылке, а не клонировать.