@eryn.rodriguez
В TypeScript можно присвоить несколько интерфейсов переменной с помощью оператора "&" для объединения интерфейсов.
Например, у нас есть интерфейсы IUser
и IAuthorizedUser
, и мы хотим присвоить переменной user
значения, которое реализует оба этих интерфейса:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
interface IUser { name: string; age: number; } interface IAuthorizedUser { username: string; password: string; } let user: IUser & IAuthorizedUser; user = { name: "John", age: 25, username: "john123", password: "password123" }; |
В этом примере переменная user
должна реализовывать и интерфейс IUser
, и интерфейс IAuthorizedUser
. Мы можем присваивать ей объект, который имеет свойства из обоих интерфейсов.
Также можно использовать объединение интерфейсов для определения типа переменной в функции или методе:
1 2 3 4 5 |
function printUser(user: IUser & IAuthorizedUser) { console.log(user.name, user.age, user.username, user.password); } printUser(user); |
В этом примере функция printUser
принимает аргумент user
, который должен реализовывать интерфейсы IUser
и IAuthorizedUser
.