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

со значениями, но обладают по сравнению с объектами некоторыми преимущества­
       ми в определенных ситуациях. Наборы подобны массивам, но не могут содержать
       дубликатов.  Их слабые аналоги  обладают подобными функциями, но более эффек­
       тивны в определенных ситуациях, в обмен на функциональные возможности.
          Мы рассмотрим отображения и наборы в главе  0 .
                                                     1

       Пр е образован и е типов данных

          Преобразование данных из одного типа в другой - весьма популярная задача.
       Данные, вводимые пользователем или поступающие из других систем, зачастую сле­
       дует преобразовывать. В этом разделе рассматриваются некоторые из наиболее об­
       щих методик преобразования данных.


       Преобразова      н и е в  ч и  словой формат
          Весьма распространено преобразование строк в числа. Когда вы получаете ввод
       от пользователя, то обычно это строка, даже если вы запрашивали числовое значе­
       ние. JavaScript предоставляет несколько методов преобразования строки в число.
       Первый из них - использовать конструктор объекта NwnЬer5•

       const  numStr  =  " 3 3  . 3 " ;
       const  num  =  NumЬer ( n umStr) ;  / /  это  создает  значение  числа ,  а  *не*
                                  / /   экземпляр  объекта  Number

          Если строка не может быть преобразована в число, возвращается NaN.
          Второй метод подразумевает использование встроенной функции parseint или
       parseFloat. Они ведут себя аналогично конструктору NwnЬer, за несколькими ис­
       ключениями. Функция parseint позволяет определить основание системы счисления
       (radix)  получаемого значения. Например, она позволяет задать основание  6 , чтобы
                                                                           1
       получать шестнадцатеричные числа. Основание системы счисления рекомендуется
       определять всегда, даже если это  10 (стандартное). Функции parseint и parseFloat
       отбрасывают все, что находят после числа, позволяя использовать не полностью от­
       фильтрованный ввод. Вот примеры.

                         (
                                t
       const  а  =  parseint  " 1 6   vol s " ,   1 0 ) ;  1 1   слово  "  vol ts "  игнорируется;  1 6
                                          // преобразуется  по  основанию  1  0
       const  Ь   parseint  " За" ,   1 6 ) ;   //  п р еобразуется  шестнадцатеричное
                         (
                                          / /  За ;  результат  - 58
       const  с   parseFloat ( " 1 5 . 5   kp " )  ;     // слово  "  k  рh " игнорируется;
                                   h
                                          //  parseFloa t  всегда  подразумевает
                                          //  основание  1 0

       5 Обычно конструктор используется с ключевым словом new,  о котором мы узнаем в главе 9; но это
       частный случай.


                                                     Преобразование типов данных   77
   74   75   76   77   78   79   80   81   82   83   84