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

.
       можно  поместить в новый массив оператором расширения (spread operator)  (  . .   ),
       который мы рассмотрим в главе 6.
       const  arr   =  [ 1 ,   2,  3,  4,  5 ] ;
       let  [х,  у,  . . .   rest ]   arr;
       х ;              / /   1
       у;               / /   2
       re t ;           / /   [3,  4 ,   51
         s
          В  этом примере  х  и  у  получают  первые два элемента  массива,  а  переменная
       rest  - все остальные (вы не обязаны называть переменную  rest; вы можете  ис­
       пользовать любое имя по своему усмотрению). Деструктуризация массива облегчает
       обмен значениями с переменными (ранее это требовало временной переменной).
       let  а   =  5 ,   ь  =  1 0 ;
       [ а ,  Ь]   =   [Ь,  а ] ;
       а ;             1 1   1 0
       Ь ;              1 1   5
                  Деструктуризация воздействует не только на массивы, но и на любой
                  итерируемый объект (который мы рассмотрим в главе 9).



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


       Оп е р аторы объектов и массивов

          Объекты, массивы и функции имеют коллекцию специальных операторов. Неко­
       торые из них уже встречались выше (такие, как операторы доступа к члену и вычис­
       ляемого доступа к члену), а остальные будут описаны в главах 6, 8 и 9. Для полноты
       они приведены в табл.  . 1 0 .
                            5
       Таблица 5.1 О. Операторы объектов и массивов
        Оператор        Описание                                    Глава
                        Доступ к члену                              3
        [ ]             Вычисляемый доступ к члену                  3
        in              Оператор проверки существования свойства    9
        new             Оператор создания экземпляра объекта        9
        instanceof      Оператор проверки цепи прототипов           9
                        Оператор расширения                         б  и  8
        delete          Оператор  у даления                         3



                                                    Операторы объектов и массивов   1 2 5
   121   122   123   124   125   126   127   128   129   130   131