Comments 4
Честно говоря, не могу разделить вашу боль. JSON parse/stringify предназначены для работы с JSON, то есть — умеет работать только с разрешенными в JSON типами, куда NaN, undefined или Infinity не входят.
Я не спорю, но как вы превращаете ваши доменные сущности в JSON тип?
Этот вопрос переводит дискуссию в область холивара, то есть, в обсуждении чей подход правильнее. А мне туда не хочется.
Я прочитал статью, и могу сказать, что не согласен с ней полностью, начиная с кликбейтного заголовка.
Нет, не врет. JSON строгий формат с ограниченным набором типов. Вы вызываете stringify чтобы получить валидный JSON, зачем вы передаете в качестве аргумента функцию или undefined? Какой именно JSON вы ожидаете получить в результате?
Повторюсь, в JSON нет NaN, undefined, Infinity, BigInt и т.д., это детали конкретного языка. JSON в используете для общения с другими, и если вам нужен, например, BigInt, то вам нужно будет договорится (с бэкендом, например), как именно вы будете его представлять в JSON. Реализация конкретного языка о ваших договоренностях знать не может, и не должна.
Encode, don't stringify — как JSON.stringify вам врёт