Menu
Coddy logo textTech

Введение в интерфейсы

Часть раздела Введение в TypeScript путешествия по JavaScript на Coddy. Урок 39 из 73.

interfaces служат той же фундаментальной цели, что и псевдонимы типов для объектов, но используют другой синтаксис и предлагают некоторые уникальные возможности.

Объявление interface выполняется с помощью ключевого слова interface, за которым следуют имя interface и структура объекта в фигурных скобках:

interface Animal {
  name: string;
  sound: string;
}

let dog: Animal = {
  name: "Buddy",
  sound: "Woof"
};

Синтаксис чистый и понятный — нужно просто перечислить свойства и их типы внутри тела interface. После определения вы можете использовать имя interface как аннотацию типа в любом месте кода, так же как и псевдонимы типов.

challenge icon

Задание

Легко

Создайте интерфейс с именем Pet со следующими свойствами:

  • name типа string
  • species типа string
  • age типа number
  • isVaccinated типа boolean

Создайте интерфейс с именем Vehicle со следующими свойствами:

  • make типа string
  • model типа string
  • year типа number

Используя свои интерфейсы, создайте следующие переменные:

  • Создайте переменную с именем myDog типа Pet со значениями name "Buddy", species "Golden Retriever", age 3 и isVaccinated true
  • Создайте переменную с именем myCat типа Pet со значениями name "Whiskers", species "Persian", age 2 и isVaccinated false
  • Создайте переменную с именем myCar типа Vehicle со значениями make "Toyota", model "Camry" и year 2022

Создайте функцию с именем describePet, которая принимает параметр типа Pet и возвращает значение типа string в формате "[name] is a [age]-year-old [species]".

Создайте функцию с именем getVehicleInfo, которая принимает параметр типа Vehicle и возвращает значение типа string в формате "[year] [make] [model]".

Выведите следующие результаты в отдельных строках:

  • Вызовите describePet с аргументом myDog и выведите результат
  • Вызовите describePet с аргументом myCat и выведите результат
  • Вызовите getVehicleInfo с аргументом myCar и выведите результат
  • Выведите статус вакцинации myDog (свойство isVaccinated)

Попробуйте сами

// TODO: Напишите ваш код здесь

// Создайте интерфейс Pet

// Создайте интерфейс Vehicle

// Создайте переменные, используя ваши интерфейсы

// Создайте функцию describePet

// Создайте функцию getVehicleInfo

// Выведите требуемые результаты
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Введение в TypeScript

Потренируйтесь самостоятельно: Онлайн-компилятор JavaScript