Page 30 - 6105
P. 30

alert ( 'Привіт'> 'Прив'); //  true, так як 'і' більше
               ніж "нічого".

                      Таке порівняння називається словниковим.



                      Порівняння різних типів

                      При  порівнянні  значень  різних  типів,  використовується  числове


               перетворення. Воно застосовується до верхнього значення.
                      Наприклад:


                      alert ( '2'> 1); // true, порівнюється як 2> 1
                      alert ( '01' == 1); // true, порівнюється як 1 == 1


                      alert (false == 0); // true, false стає числом 0
                      alert (true == 1); // true, так як true стає числом 1.



                      Строга рівність

                      Звичайний оператор == не може відрізнити 0 від false:

                      alert (0 == false); // true

                      Та ж ситуація з пустим рядком:

                      alert ( '' == false); // true

                      Це  наслідок  того,  що  операнди  різних  типів  перетворилися  в  числа.

               Порожній  рядок,  як  і  false,  при  перетворенні  до  числа  дають  0.  Для  перевірки


               рівності без перетворення типів використовуються оператори строгої рівності ===
               (потрійне дорівноє) і !==.


                      Якщо тип даних різний, то вони завжди повертають false:

                      alert (0 === false); // false, тому що типи різні


                      Порівняння з null і undefined


                      Проблеми  зі  спеціальними  значеннями  можливі,  коли  до  змінної
               застосовується  операція порівняння, а змінна може бути як числом так    і  null /



                                                                29
   25   26   27   28   29   30   31   32   33   34   35