2012-05-22 3 views
1

У меня есть некоторые данные, которые (довольно разумно) используют null и false для разных значений.Можно ли обрабатывать значение null и false по-разному в усах (или hogan)?

Например, тест, который потерпел неудачу, является ложным, тогда как тот, который еще не завершен, является нулевым.

Я понимаю, что секции усов обрабатывают null/false одинаково в большинстве случаев. Есть ли способ сделать усы (или hogan, а точнее, это реализация, которую я использую) обрабатывать null и false по-разному?

Или я должен взломать некоторые дополнительные логические значения для «тестов в процессе» или что-то вроде этого?

ответ

1

все falsey значения интерпретируются как ложные в Усы спецификации [1], за исключением пустой строки, которая наиболее JavaScript реализации интерпретируют, как falsey но Хоган получает его как truthy [2] (потому что реализация канона Рубин делает это так, и спецификация пропускает пустую строку, поэтому разработчики могут свободно интерпретировать по желанию).

Итак, null и false - это то же самое в Усы и Хогане, вам понадобится другое свойство, чтобы передать эту дифференциацию.