Я играл с JSconsole и нашел что-то странное. Значение "0"
- false
"0" == false
=> true
Значение false
при использовании в тернаре возвращает второе значение
false ? 71 : 16
=> 16
Однако значение "0"
, которое равно false
, когда используется в тройном, возвращает первое значение.
"0" ? 8 : 10
=> 8
Однако, если вы используете 0
как значение, оно возвращает второе значение
0 ? 4 : 5
=> 5
0 == "0"
=> true
Я боюсь, что это не имеет смысла для меня.