Pull to refresh

Comments 4

Честно говоря, не могу разделить вашу боль. JSON parse/stringify предназначены для работы с JSON, то есть — умеет работать только с разрешенными в JSON типами, куда NaN, undefined или Infinity не входят.

Я не спорю, но как вы превращаете ваши доменные сущности в JSON тип?

Этот вопрос переводит дискуссию в область холивара, то есть, в обсуждении чей подход правильнее. А мне туда не хочется.

Я прочитал статью, и могу сказать, что не согласен с ней полностью, начиная с кликбейтного заголовка.

JSON.stringify вам врёт

Нет, не врет. JSON строгий формат с ограниченным набором типов. Вы вызываете stringify чтобы получить валидный JSON, зачем вы передаете в качестве аргумента функцию или undefined? Какой именно JSON вы ожидаете получить в результате?

Повторюсь, в JSON нет NaN, undefined, Infinity, BigInt и т.д., это детали конкретного языка. JSON в используете для общения с другими, и если вам нужен, например, BigInt, то вам нужно будет договорится (с бэкендом, например), как именно вы будете его представлять в JSON. Реализация конкретного языка о ваших договоренностях знать не может, и не должна.

Да, но JSON.stringify принимает any и нет никакой гарантии, что ваш бэкенд получит именно то, о чем вы договорились.

Sign up to leave a comment.

Articles