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