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

Операторы swi tch чрезвычайно удобны, когда необходимо выбрать один путь из
       многих на основании единого выражения. Как уже упоминалось, вы будете исполь­
       зовать их чаще, как только узнаете о динамической диспетчеризации в главе 9.

       Ци к  л  for . . .   in

                   .
          Цикл for  . .   in предназначен для перебора свойств объекта по ключам. Его син­
       таксис таков.
       for  п еременная  in  объект)
          (
           оператор
          Вот пример его использования.
       const  player  =  {  name :  ' T homas ' ,   ran k :    ' M idshipman ' ,   age :  25  } ;
       for ( let  prop  in  player )  {
           if ( ! player . h asOwnProperty ( p ro ) )  continue ;  / /  см.  объяснение  ниже
                                       p
           console . l og (prop  +  '  :    '  +  player [prop ] )  ;

          Не беспокойтесь, если сейчас не все понятно; вы узнаете больше об этом примере
       из главы 9. В частности, вызов player . hasOwnProperty не обязателен, но его отсут­
       ствие - популярный источник ошибок, рассматриваемый в главе 9.  В настоящий
       момент достаточно знать, что это разновидность циклического оператора управле­
       ния потоком.

       Ци к  л  for  . .   of
                    .
          Оператор for  . .   of - нововведение ES6, обеспечивающее еще один способ ци­
                       .
       клического перебора элементов коллекции. Его синтаксис таков.
       for  п еременная  of  объект)
          (
           оператор
                   .
          Цикл for  . .   of применим к массивам и в более общем случае к любым итериру­
       емым  i teraЬle)  (см. главу 9) объектам. Вот пример его использования для перебора
             (
       содержимого массива.
       const  hand  =  [ r andFace ( ) ,  randFace ( ) ,  randFace ( ) ] ;
       for ( l et  face  of  hand)

           console . log ( ' You  rolled  . .  . $ { face }  !  ' )   ;
                   .
          Цикл for  . .   of - это прекрасный выбор, когда необходимо перебрать массив, он
       позволяет не заботиться об индексе каждого элемента. Если знать индексы необхо­
       димо, используйте обычный цикл for.
       const  hand  =  [ r andFace ( ) ,  randFace ( ) ,  randFace ( ) ] ;
                 O
       for ( l et  i= ;   i<hand . l ength ;  i++)
                     g
           console . l o ( ' Roll  $ { i +l } :  $ { h and [ i ] }  ' ) ;

                                           Операторы управления потоком в JavaScript   101
   97   98   99   100   101   102   103   104   105   106   107