me_edu
TypeScript для начинающихШаг 15 из 27 · 0% пройдено
Интерфейсы и типы объектов · Интерфейсы и типы объектов

Интерфейсы

interface Userid: numbername: stringisAdmin?: booleanИнтерфейс описывает форму объекта — набор полей и их типы
Интерфейс описывает форму объекта — набор полей и их типы

Интерфейс описывает форму объекта — какие у него должны быть поля и каких типов:

interface User { id: number; name: string; isAdmin?: boolean; // необязательное поле }

Теперь объект обязан соответствовать форме:

const u: User = { id: 1, name: "Аня" }; // ок (isAdmin не обязателен) const bad: User = { id: 1 }; // ошибка: нет name

Функция, принимающая User, получает полную подсказку по полям:

function welcome(user: User): string { return "Привет, " + user.name; }

Редактор автодополнит user. и не даст обратиться к несуществующему полю. В больших проектах это резко снижает количество багов и ускоряет рефакторинг: переименовали поле в интерфейсе — компилятор покажет все места, которые надо поправить.

Назад

Обсуждение

Войдите, чтобы участвовать в обсуждении.

Пока нет сообщений.