Встречается на собеседованиях • сегодня
Какая проблема сравнения объекта если он скопирован с помощью JSON.stringify
При копировании объекта через JSON.stringify и последующем JSON.parse теряются:
- Методы объекта (функции)
- Специальные типы вроде
Date,RegExp,Map,Set(превращаются в строки) undefinedиSymbolпропадают- Циклические ссылки вызовут ошибку
Пример:
javascript
const obj = {
date: new Date(),
fn: () => console.log('test'),
undef: undefined
};
const copy = JSON.parse(JSON.stringify(obj));
console.log(copy.date); // строка вместо Date
console.log(copy.fn); // undefined
console.log(copy.undef); // undefined (пропало)Для глубокого копирования лучше использовать structuredClone() (если не нужны методы) или библиотеки типа Lodash _.cloneDeep().

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы