Показать сообщение отдельно
  #10 (permalink)  
Старый 17.09.2018, 15:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от MC-XOBAHCK
У меня опыта с JSON мало
Тут не сколько JSON, сколько непосредственно типы. Мы ведь и сами оперируем булевыми значениями и если вместо них использовать строки, ну это же профанация. Какой прок от "true"/"false"? Да никакого, с такими же успехом можно использовать любое не пустое строковое значение в качестве true, и пустую строку как false.

любое число отличное от ноля, " " = true
0, "" = false

Ожидать и проверять булево значение при этом в условии писать "true"/"false", выглядит дико, но если поступать так как выше, значит некорректно использовать типы, а следовательно собственными руками творить себе проблемы.

В языках встречается когда функция возвращает false как булево так и не булево значения, то есть или 0, или false. В этих случаях производится строгое сравнение:

if(a === false)

в остальных случаях if(a) или if(!a), на то оно и булево, не надо ничего мудрить.
Ответить с цитированием