Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.06.2012, 12:59
Аспирант
Отправить личное сообщение для almac Посмотреть профиль Найти все сообщения от almac
 
Регистрация: 29.06.2012
Сообщений: 31

Как работают операции сравнения > < == >= <= с различными типами данных?
Я уже совсем запутался. На сайте в учебнике learn.javascript.ru сказано, что при сравнении типы данных приводятся к числам, и затем сравниваются. Но в любом случае на выходе, как я понимаю, должно получится булевое значение.
1. Например, if (true > false) вернет true, так как true (скорее всего) приводится к 1, а false - к 0.
2. NaN > 2 вернет false, так как в операциях с числами, где участвует NaN, там значение всего выражение приводится к NaN, что соответствует false (если я все верно понимаю)
3. true > undefined вернет false, так как undefined должно приводиться к NaN (ведь сказано же в учебнике, что сравниваются ЧИСЛА), но тогда возникают ВОПРОСы:

- Почему NaN == undefined будет false?? Ведь undefined по идее приводится к NaN во время сравнивания
- И почему null == undefined приводит к true?? Ведь null должен привестись к 0, а undefined к NaN.


Прошу вас, разъясните, как работает операция сравнивания в Javascript
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2012, 13:52
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

almac, это читали?
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2012, 13:59
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

В спецификации описаны алгоритмы работы операторов, там наверное лучше и читать
http://es5.javascript.ru/x11.html#x11.8
Ответить с цитированием
  #4 (permalink)  
Старый 29.06.2012, 14:07
Аспирант
Отправить личное сообщение для almac Посмотреть профиль Найти все сообщения от almac
 
Регистрация: 29.06.2012
Сообщений: 31

Ужасно! Это ж надо было такое придумать... Всем спасибо за ссылки, придется привыкать к таким нестандартным обработкам простых действий
Ответить с цитированием
Ответ



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

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