Чем отличаются строка null и значение null в JSON

Name1 — непустая строка, name2 — пустая строка, name3 — null; далее boolean, number и array. Текст 'null' не равен отсутствующему значению.

Короткий ответ

Что ответить на собеседовании

Name1 — непустая строка, name2 — пустая строка, name3 — null; далее boolean, number и array. Текст 'null' не равен отсутствующему значению.

Подробный разбор

Ответ с пояснениями

Условие

Объект содержит name1:'null', name2:'', name3:null, name4:true, name5:37, name6:['str1','str2']. Назовите типы и поясните различие первых трёх значений; в реальном JSON строки заключаются в двойные кавычки.

Ответ

Name1 — непустая строка, name2 — пустая строка, name3 — null; далее boolean, number и array. Текст 'null' не равен отсутствующему значению.

Также различайте поле с null и полностью отсутствующее поле: PATCH-контракты часто трактуют их по-разному. JSON не содержит типа undefined. Валидация должна задавать тип и nullable отдельно, а не считать все falsy-значения пустыми. Массив name6 здесь содержит строки, но JSON сам не требует однородности массивов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее