Page 123 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 123

базовый тип). Причины имеют исторический характер и  не особенно интересны,
       уже неоднократно предлагалось исправить это, но слишком много существующего
       кода уже основано на таком поведении. В результате теперь это увековечено в спец­
       ификации языка.
          Оператор typeof нередко критикуют также за то, что он не способен отличить
       объекты, не являющиеся массивами, от массивов. Он корректно идентифицирует
       функции (также являющиеся объектами специальных типов), но результатом typeof
        [ ]   является  11 obj e ct 11 •
          Возможные возвращаемые значения оператора typeof приведены в табл. 5.8.
       Таблица 5.8. Возвращаемые значения оператора typeof
        Выражение               Возвращаемое значение        Примечания
        Typeof  undef ined      11undef  ined 11
        Typeof  null            11 ob j e  ct 11             Прискорбно, но факт
        Typeof  { }             11 ob j e  ct 11
        Typeof  t r ue          11 boolean 11
        Typeof  1               11 nurnЬer 11
        Typeof  11 11           11 string 11
                      (
        Typeof  Sy mЬ ol  )     11 sy mЬ ol 11               Нововведение ЕSб
        Typeof  func i on ( )  { }   " f unc i on 11
                                     t
                    t
                  Поскольку typeof - оператор, крутлые скобки не обязательны. Таким
                  образом, если у вас есть переменная х, можете использовать синтаксис
                  typeof  х вместо typeof  ( х ) . Последнее - вполне допустимый син­
                  таксис - круглые скобки лишь создают ненужную группу выражений.

       Оператор void

          У оператора void есть только одна задача: вычислить свой операнд, а затем воз­
       вратить undefined. Звучит не очень привлекательно? Да, согласен. Это применяется
       для оценки выражения, в  котором необходимо возвращаемое значение undefined,
       но я никогда не встречался с такой ситуаций в реальной жизни. Единственная при­
       чина, по которой я включил его в эту книгу, в том, что вы будете иногда встречать
       его использование в URL дескриптора HTML <а>, чтобы помешать браузеру перейти
       на новую страницу.
       <а  href " j avascript : v oid  О " >Ничего  не  делаем !  </а>
              =
          Это не рекомендуемый подход, но время от времени он встречается.

       Операто р ы   п р и с в а и в а н и я
          Оператор присваивания прост: он назначает значение переменной. То, что на­
       ходится слева от знака равенства (иногда называемое [-значением (lvalue)), должно


       1 2 2    Глава 5 . Выражения и операторы
   118   119   120   121   122   123   124   125   126   127   128