0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Представим программу, в которой есть объект пользователя. Этот объект используется повсеместно. В такой ситуации описание типа этого объекта будет повторяться в каждом определении функции - это неудобно. Во-первых, здесь много дублирования. Во-вторых, значительно усложняется изменение структуры, потому что придется руками править все места, где встречается это определение. В этом уроке разберем, как избежать таких проблем.</p>
1
<p>Представим программу, в которой есть объект пользователя. Этот объект используется повсеместно. В такой ситуации описание типа этого объекта будет повторяться в каждом определении функции - это неудобно. Во-первых, здесь много дублирования. Во-вторых, значительно усложняется изменение структуры, потому что придется руками править все места, где встречается это определение. В этом уроке разберем, как избежать таких проблем.</p>
2
<h2>Задаем псевдоним типа</h2>
2
<h2>Задаем псевдоним типа</h2>
3
<p>Чтобы не делать одну и ту же работу, да еще и руками, TypeScript позволяет задавать псевдоним (<em>alias</em>) для составных типов. Так мы не будем повторяться:</p>
3
<p>Чтобы не делать одну и ту же работу, да еще и руками, TypeScript позволяет задавать псевдоним (<em>alias</em>) для составных типов. Так мы не будем повторяться:</p>
4
<p>Теперь можно провести замену во всех функциях:</p>
4
<p>Теперь можно провести замену во всех функциях:</p>
5
<p>Псевдоним - это не создание нового типа данных. Это способ сокращенно записать определение типа. Поэтому следующие примеры будут работать без проблем:</p>
5
<p>Псевдоним - это не создание нового типа данных. Это способ сокращенно записать определение типа. Поэтому следующие примеры будут работать без проблем:</p>
6
<p>При этом разработчики на TypeScript говорят "создаем тип", а не "создаем псевдоним типа". Поэтому в этом курсе мы будем придерживаться общепринятого формата.</p>
6
<p>При этом разработчики на TypeScript говорят "создаем тип", а не "создаем псевдоним типа". Поэтому в этом курсе мы будем придерживаться общепринятого формата.</p>
7
<p>Типы можно задавать для любых типов данных. Например, для простых:</p>
7
<p>Типы можно задавать для любых типов данных. Например, для простых:</p>
8
<p>А также для составных:</p>
8
<p>А также для составных:</p>
9
<h2>Объекты и функции</h2>
9
<h2>Объекты и функции</h2>
10
<p>Описание типа функции вне объекта и внутри отличается. Когда функция записывается самостоятельно, используется формат стрелочной функции:</p>
10
<p>Описание типа функции вне объекта и внутри отличается. Когда функция записывается самостоятельно, используется формат стрелочной функции:</p>
11
<p>Внутри типа, который описывает объект, формат меняется на используемый для обычных свойств:</p>
11
<p>Внутри типа, который описывает объект, формат меняется на используемый для обычных свойств:</p>
12
<p>Но это не касается колбеков, которые могут быть использованы внутри:</p>
12
<p>Но это не касается колбеков, которые могут быть использованы внутри:</p>
13
<p>В этом уроке мы научились использовать псевдонимы типов. Также мы узнали, как задавать псевдоним для составных типов.</p>
13
<p>В этом уроке мы научились использовать псевдонимы типов. Также мы узнали, как задавать псевдоним для составных типов.</p>