странное преобразование true false
Всем привет!
Кто нибудь может объяснить такое поведение? Как это называется и где можно почитать об этом? if ('2') console.log(true); // условие выполнено, значит '2' == true // , но console.log( '2' == true ); // false аналогично console.log( 1 == true ); // true console.log( 2 == true ); // false |
if ('2') - возвращает булево значение, истинно ли значение. В данном случае это проверка не является ли значение пустым, false или null, а не сравнивает строку '2' с чем-то, поэтому и возвращается true. Но строка '2' не равна значению true и проверка этого if ( '2' == true ) вернет false.
alert(true == true) // true alert(1 == true) // true - true собственно и есть 1, например true - 1 = 0 alert(2 == true) // false |
laimas, А, ну да, логично, вспомнил азы школьной информатики, спасибо!
|
Внутри иф всегда происходит приведение к булеву значению. Вам тут что-то сильно намудрили.
|
Часовой пояс GMT +3, время: 17:10. |