Встречается на собеседованиях • сегодня

Как работает JSON.stringify со вложенными объектами

JSON.stringify() рекурсивно обходит все свойства объекта, включая вложенные, и преобразует их в строку JSON. При этом:

  1. Функции, Symbol, undefined пропускаются (в массивах заменяются на null)
  2. Циклические ссылки вызовут ошибку TypeError
  3. Можно кастомизировать процесс через replacer-функцию или массив свойств

Пример:

javascript
const obj = {
  name: "John",
  age: 30,
  address: {
    city: "New York",
    street: "123 Main St"
  },
  sayHi: () => console.log("Hi") // пропустится
};

console.log(JSON.stringify(obj));
// {"name":"John","age":30,"address":{"city":"New York","street":"123 Main St"}}

Для обработки сложных случаев можно использовать replacer:

javascript
JSON.stringify(obj, (key, value) => {
  if (typeof value === 'function') return 'function';
  return value;
});
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы