Ошибка глобализации в новой версии 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