Когда начинаешь изучать TypeScript, одним из первых важных понятий становится interface.
interface нужен для описания структуры объекта. То есть он говорит не о том, какие именно данные лежат внутри сейчас, а о том, какой формы эти данные должны быть.
Простой пример:
name: string
age: number
isAdmin: boolean
}
Теперь если создать объект пользователя, TypeScript будет проверять, соответствует ли он этой структуре:
name: 'Tigran',
isAdmin: true
}
Если какого-то свойства не хватит, или тип будет неправильным, TypeScript сразу покажет ошибку.
Почему это удобно:
1. Код становится понятнее
Когда видишь User, уже не нужно гадать, какие поля должны быть у объекта.
2. Меньше ошибок
TypeScript не даст случайно передать строку вместо числа или забыть важное поле.
3. Удобно типизировать параметры функций
name: string
age: number
}
function printUser(user: User) {
console.log(`${user.name}, ${user.age}`)
}
4. Можно описывать не только объекты, но и методы
brand: string
year: number
startEngine: () => void
}
Также в interface можно делать необязательные свойства через ?
```interface Product {
title: string
price: number
discount?: number
}
Это значит, что discount может быть, а может и не быть.
Важно понимать:
interface не создаёт объект и не добавляет логику в JavaScript. Он нужен только для проверки типов во время разработки.
Когда использовать interface:
когда нужно описать структуру объекта, который будет использоваться в разных местах проекта: пользователи, товары, ответы от API, параметры функций, props компонентов и так далее.
Итог:
interface в TypeScript нужен, чтобы задавать понятную и строгую форму данных. Это делает код чище, безопаснее и удобнее в поддержке.
#ts
