HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Когда мы передаём аргумент при вызове функции, его значение присваивается параметру функции. Это неявное автоматическое присваивание, потому что в коде этой операции "не видно".</p>
1 <p>Когда мы передаём аргумент при вызове функции, его значение присваивается параметру функции. Это неявное автоматическое присваивание, потому что в коде этой операции "не видно".</p>
2 <p>Передача аргумента ничем не отличается от обыкновенного присвоения значения переменной. Это значит, что нам доступна деструктуризация прямо в определении функции.</p>
2 <p>Передача аргумента ничем не отличается от обыкновенного присвоения значения переменной. Это значит, что нам доступна деструктуризация прямо в определении функции.</p>
3 <h2>Деструктуризация массива</h2>
3 <h2>Деструктуризация массива</h2>
4 <p>Напишем функцию, которая принимает на вход массив из двух элементов и печатает их в терминал. Рассмотрим разные способы реализации работы с параметрами.</p>
4 <p>Напишем функцию, которая принимает на вход массив из двух элементов и печатает их в терминал. Рассмотрим разные способы реализации работы с параметрами.</p>
5 <p>Не самый выразительный вариант - прямое обращение к элементам массива по индексам:</p>
5 <p>Не самый выразительный вариант - прямое обращение к элементам массива по индексам:</p>
6 <p>Более интересный вариант - деструктуризация массива в теле функции:</p>
6 <p>Более интересный вариант - деструктуризация массива в теле функции:</p>
7 <p>Но можно пойти еще дальше и добавить деструктуризацию прямо в определение:</p>
7 <p>Но можно пойти еще дальше и добавить деструктуризацию прямо в определение:</p>
8 <p>При этом действуют все стандартные правила деструктуризации массива:</p>
8 <p>При этом действуют все стандартные правила деструктуризации массива:</p>
9 <p>Если в передаваемом массиве меньше двух элементов, параметры, которым "не хватило" соответствующих значений, будут содержать undefined. Для таких случаев можно подстраховаться и задать значение по умолчанию:</p>
9 <p>Если в передаваемом массиве меньше двух элементов, параметры, которым "не хватило" соответствующих значений, будут содержать undefined. Для таких случаев можно подстраховаться и задать значение по умолчанию:</p>
10 <h2>Деструктуризация объекта</h2>
10 <h2>Деструктуризация объекта</h2>
11 <p>Напишем функцию, которая принимает на вход объект с информацией об имени и фамилии пользователя и выводит их в терминал. Сразу реализуем вариант с деструктуризацией объекта для параметров:</p>
11 <p>Напишем функцию, которая принимает на вход объект с информацией об имени и фамилии пользователя и выводит их в терминал. Сразу реализуем вариант с деструктуризацией объекта для параметров:</p>
12 <p>Типичная ситуация на практике, когда на вход функции приходит объект с большим количеством свойств, но фактически нужны значения не всех свойств, а всего нескольких. Например, это бывает при обработке HTTP-ответа (response) от сервера или конфигурации для программы. В таких случаях мы забираем только нужные значения - ведь при деструктуризации необязательно указывать все свойства объекта:</p>
12 <p>Типичная ситуация на практике, когда на вход функции приходит объект с большим количеством свойств, но фактически нужны значения не всех свойств, а всего нескольких. Например, это бывает при обработке HTTP-ответа (response) от сервера или конфигурации для программы. В таких случаях мы забираем только нужные значения - ведь при деструктуризации необязательно указывать все свойства объекта:</p>
13  
13