Ошибка глобализации в новой версии 1.2.*? Разбор пустой строки возвращает 0

Этот вопрос представляет собой предложенную ошибку для Globalize. Владельцы этого проекта просят сначала опубликовать его в виде ТАКОГО вопроса, так что здесь мы идем...

С новой версией 1.2.1 (и 1.2.2) Globalize мы заметили, что при разборе чисел пустая строка возвращает 0 (казалось бы, не зависит от культуры). Это поведение отличается от предыдущей версии 1.1.2, где он вернул NaN. размножение:

var g = new Globalize("en-US");
g.numberParser()(''); // returns 0 in v1.2.1 and NaN in v1.1.2.

Интуиция говорит мне, что разбор пустой строки не должен возвращать 0. В таких случаях функции анализа Vanilla JavaScript (например, parseInt) возвращают NaN, поддерживая эту интуицию.

Кроме того, соответствующий модульный тест в проекте Globalize, по-видимому, не охватывает этот случай, поэтому неясно, предназначено ли измененное поведение. Из краткого обзора изменений в выпусках 1.2. * Я не могу найти никаких замечаний о намерении изменить это поведение.

Обратите внимание, что анализ новой строки действительно возвращает NaN:

var g = new Globalize("en-US");
g.numberParser()(' '); // returns NaN in both v1.2.1 and v1.1.2.

Мы надеемся, что один из участников проекта либо подтвердит, что это ошибка, и поднимет соответствующую проблему в проекте Globalize, либо объяснит, почему это ожидаемое поведение.

1 ответ

Решение

Это ошибка, спасибо за сообщение, будет отслеживаться в https://github.com/globalizejs/globalize/issues/682

Другие вопросы по тегам