Выбор ответа Middle Объекты и массивы обновлено
Что не умеет structuredClone
Вопрос
На каком значении structuredClone бросит ошибку?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: { name: 'Аня', greet() { return 'hi'; } }. Алгоритм структурного клонирования не умеет копировать функции: объект с методом вызовет DataCloneError.
Варианты ответа
- Объект с циклической ссылкой на самого себя
new Map([['a', 1], ['b', { nested: true }]]){ created: new Date() }{ name: 'Аня', greet() { return 'hi'; } }правильный ответ
Разбор
Алгоритм структурного клонирования не умеет копировать функции: объект с методом вызовет DataCloneError. Циклические ссылки он обрабатывает корректно, это одно из его преимуществ перед JSON. Map, Set, Date, RegExp, ArrayBuffer и типизированные массивы копируются с сохранением типа. Ещё он не копирует DOM-узлы и теряет прототип у экземпляров классов: копия станет простым объектом.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.