Доки по разработке
This project is maintained by teniryte
Принципы
[...Names, ...Scores]) объединяет два кортежа в один с сохранением порядка.names: [...Names]), чтобы вывод типов был точным.Пример
function merge<Names extends string[], Scores extends number[]>(
names: [...Names],
scores: [...Scores],
): [...Names, ...Scores] {
return [...names, ...scores];
}
const result = merge(['Bill', 'Jane'], [8, 9]); // ['Bill', 'Jane', 8, 9]
Практика
Names extends readonly string[]), если нужно сохранить неизменяемость.'Bill' остаётся литеральным типом в объединённом кортеже.