// {a: 2}
3. obj.a++;
4. console.log(obj); // {a: 2}
Я ж меняю объект только на 3й строчке. Почему уже на второй строке объект изменён с {a: 1} на {a: 2}?
Подозреваю что тут дело в том что массивы передаются по ссылке, видимо тут как-то на этом завязано, но так и не пойму в чём именно дело.
Подскажите плез.
Спасибо.
Да, это типичная вещь, я обычно в таких случаях делаю cloneDeep() и отдаю копию console.log у тогда оно все корректно выводит
Попробуй await console.log
console.log выводит объект по ссылке, и ты передаешь ему ссылку на объект который надо вывести, на момент вывода ты уже изменил значение
Обсуждают сегодня