Код Junior Реализация с нуля обновлено
deepFreeze
Условие
Заморозь объект и все вложенные объекты. Верни его же.
Что проверяют тесты
верхний уровень
вложенный
циклическая ссылка не зацикливает
Как подойти
Object.freeze поверхностный - отсюда рекурсия. Порядок важен: сначала заморозить текущий объект, потом спускаться. Если наоборот, то на циклической ссылке (o.self = o) получишь бесконечную рекурсию, потому что охрана isFrozen ещё не сработает.
Подсказки: 2
- Замораживай текущий объект до спуска вглубь, а не после.
- Проверка isFrozen заодно спасает от циклов.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.