Сообщение от MC-XOBAHCK
|
У меня опыта с JSON мало
|
Тут не сколько JSON, сколько непосредственно типы. Мы ведь и сами оперируем булевыми значениями и если вместо них использовать строки, ну это же профанация. Какой прок от "true"/"false"? Да никакого, с такими же успехом можно использовать любое не пустое строковое значение в качестве true, и пустую строку как false.
любое число отличное от ноля, " " = true
0, "" = false
Ожидать и проверять булево значение при этом в условии писать "true"/"false", выглядит дико, но если поступать так как выше, значит некорректно использовать типы, а следовательно собственными руками творить себе проблемы.
В языках встречается когда функция возвращает false как булево так и не булево значения, то есть или 0, или false. В этих случаях производится строгое сравнение:
if(a === false)
в остальных случаях if(a) или if(!a), на то оно и булево, не надо ничего мудрить.