Что выведет код Middle Объекты и массивы обновлено
JSON и undefined
Вопрос
Что выведет код? По строке на каждый вывод.
const o = { a: 1, b: undefined, c: () => 1, d: NaN };
console.log(JSON.stringify(o));
console.log(JSON.stringify([undefined, () => 1]));
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: {"a":1,"d":null}, [null,null]. Почему так undefined и функции выбрасываются из объектов, но в массивах становятся null.
Что выведет
{"a":1,"d":null}
[null,null]
Разбор
Почему так
undefined и функции выбрасываются из объектов, но в массивах становятся null. NaN и Infinity сериализуются в null. Поэтому JSON.parse(JSON.stringify(x)) - плохой deepClone.
Вывод
{"a":1,"d":null}
[null,null]
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.