Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.09.2010, 17:54
Интересующийся
Отправить личное сообщение для alexeis Посмотреть профиль Найти все сообщения от alexeis
 
Регистрация: 28.09.2010
Сообщений: 10

Операторы сравнения, null, undefined, number 0, empty string("")
Почему
null == 0 // false
null == "" // false
undefined == 0 // false
undefined == "" // false

null == undefined // true
0 == "" // true

?
Ответить с цитированием
  #2 (permalink)  
Старый 28.09.2010, 18:30
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

Сообщение от alexeis Посмотреть сообщение
Почему
null == 0 // false
null == "" // false
undefined == 0 // false
undefined == "" // false

null == undefined // true
0 == "" // true

?
Строки при сравнении с числом приводяться к числу '' приводиться к 0
Ответить с цитированием
  #3 (permalink)  
Старый 28.09.2010, 18:34
Интересующийся
Отправить личное сообщение для alexeis Посмотреть профиль Найти все сообщения от alexeis
 
Регистрация: 28.09.2010
Сообщений: 10

Сообщение от DooMer Посмотреть сообщение
Строки при сравнении с числом приводяться к числу '' приводиться к 0
Это понятно, меня больше интересует первые 4
Ответить с цитированием
  #4 (permalink)  
Старый 28.09.2010, 19:01
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от alexeis
Почему
http://javascript.ru/ecma/part9#a-9
Ответить с цитированием
  #5 (permalink)  
Старый 28.09.2010, 19:18
Интересующийся
Отправить личное сообщение для alexeis Посмотреть профиль Найти все сообщения от alexeis
 
Регистрация: 28.09.2010
Сообщений: 10

Если я правильно понимаю
null == "" => "null" == "" // false
undefined == 0 => NaN == 0 // false
undefined == "" => "undefined" == "" // false
null == 0 // false   ???

Почему null == 0 // false
ведь null ToNumber +0
Ответить с цитированием
  #6 (permalink)  
Старый 28.09.2010, 21:11
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

Цитата:
Почему null == 0 // false
ведь null ToNumber +0
Вот, по ссылке, полный ответ http://javascript.ru/ecma/part11#a-11.9.1. А здесь выдержки:
Цитата:
Сравнение x == y, где x и y являются значениями, возвращает true или false. Такое сравнение производится следующим образом:

1. Если Тип(x) отличается от Типа(y) - переход на шаг 14.
14. Если x равно null, а y равно undefined - вернуть true.
22. Вернуть false.
Ответить с цитированием
Ответ


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

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