1

Этот вопрос представляет собой предлагаемую ошибку для Globalize. Владельцы этого проекта просят, чтобы он сначала был опубликован как вопрос SO, поэтому мы идем ...Локализуйте ошибку в новом v1.2. *? Разбор пустой строки возвращает 0

С новой версией 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 в таких случаях, поддерживая эту интуицию.

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

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

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

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

ответ

Смежные вопросы