Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.11.2015, 23:15
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

странное преобразование true false
Всем привет!
Кто нибудь может объяснить такое поведение?
Как это называется и где можно почитать об этом?

if ('2') console.log(true);  // условие выполнено, значит '2' == true
// , но
console.log( '2' == true ); // false

аналогично
console.log( 1 == true ); // true
console.log( 2 == true ); // false

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

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, 05.11.2015 в 23:39.
Ответить с цитированием
  #3 (permalink)  
Старый 05.11.2015, 23:48
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

laimas, А, ну да, логично, вспомнил азы школьной информатики, спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 06.11.2015, 13:27
Аспирант
Посмотреть профиль Найти все сообщения от loljs
 
Регистрация: 06.11.2015
Сообщений: 68

Внутри иф всегда происходит приведение к булеву значению. Вам тут что-то сильно намудрили.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнить значение в td и поменять bgcolor AndyTitan jQuery 11 20.08.2014 17:42
Изменение определенного класа в зависимости от другого wkornilow Events/DOM/Window 9 25.11.2013 18:48
Глюк firebug'а trikadin Оффтопик 23 16.01.2012 14:04
относительная высота zmaxon ExtJS 13 04.10.2010 12:42
Проблема с оперой Ден Opera, Safari и др. 1 22.03.2009 15:49