HTML Diff
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>