HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Обычно массивы могут менять свой размер и содержать от нуля значений. Поэтому пустой массив как значение [] является валидным для массивов любого типа. При этом иногда массивы выступают в качестве упрощенной версии объекта, где количество значений и их порядок строго определены. Например, с помощью такого массива можно представить точку на плоскости: [x, y].</p>
1 <p>Обычно массивы могут менять свой размер и содержать от нуля значений. Поэтому пустой массив как значение [] является валидным для массивов любого типа. При этом иногда массивы выступают в качестве упрощенной версии объекта, где количество значений и их порядок строго определены. Например, с помощью такого массива можно представить точку на плоскости: [x, y].</p>
2 <p>Такие массивы нужны для экономии символов, когда приходится создавать много одинаковых данных, например, для тестирования. В TypeScript подобные массивы называются кортежами, с которыми мы познакомимся в этом уроке.</p>
2 <p>Такие массивы нужны для экономии символов, когда приходится создавать много одинаковых данных, например, для тестирования. В TypeScript подобные массивы называются кортежами, с которыми мы познакомимся в этом уроке.</p>
3 <h2>Использование кортежей</h2>
3 <h2>Использование кортежей</h2>
4 <p>У кортежей есть свой синтаксис определения. Например, рассмотрим представление точки:</p>
4 <p>У кортежей есть свой синтаксис определения. Например, рассмотрим представление точки:</p>
5 <p>Кортежи имеют фиксированное количество элементов, поэтому было бы логично, если бы такое же поведение применялось к push() или pop(). Ведь если мы определили кортеж из двух элементов, то элементов должно быть именно два.</p>
5 <p>Кортежи имеют фиксированное количество элементов, поэтому было бы логично, если бы такое же поведение применялось к push() или pop(). Ведь если мы определили кортеж из двух элементов, то элементов должно быть именно два.</p>
6 <p>На практике код ниже сработает:</p>
6 <p>На практике код ниже сработает:</p>
7 <p>Такое поведение сохраняется для<a>обратной совместимости</a>. И общая рекомендация состоит в том, чтобы не пытаться изменять размер кортежа.</p>
7 <p>Такое поведение сохраняется для<a>обратной совместимости</a>. И общая рекомендация состоит в том, чтобы не пытаться изменять размер кортежа.</p>
8 <p>Кортежи могут состоять из элементов разных типов:</p>
8 <p>Кортежи могут состоять из элементов разных типов:</p>
9 <p>Часть из них может быть опциональная. В таком случае опциональные элементы должны быть в конце кортежа:</p>
9 <p>Часть из них может быть опциональная. В таком случае опциональные элементы должны быть в конце кортежа:</p>
10 <p>В примере выше первый элемент массива всегда должен быть числом, а второй - строкой или может отсутствовать.</p>
10 <p>В примере выше первый элемент массива всегда должен быть числом, а второй - строкой или может отсутствовать.</p>
11 <p>Если создавать переменные для кортежей и использовать псевдоним, то его нужно указывать явно. Иначе с точки зрения TypeScript будет создан обычный массив:</p>
11 <p>Если создавать переменные для кортежей и использовать псевдоним, то его нужно указывать явно. Иначе с точки зрения TypeScript будет создан обычный массив:</p>
12  
12