0Pricing
TypeScript Academy · Урок

Классы TypeScript и конструкторы

Определяйте классы с типизированными свойствами и конструкторами

«Классы TypeScript и конструкторы» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.

Добро пожаловать

Классы TypeScript — это классы JavaScript с аннотациями типов. Они объединяют данные и поведение в типизированной объектно-ориентированной структуре.

Объявление класса со свойствами

Объявляйте свойства класса в начале класса, указывая их типы. TypeScript проверяет все варианты их использования.
class Person {
  name: string;
  age: number;

  constructor(name: string, age: number) {
    this.name = name;
    this.age = age;
  }
}

Сокращённая запись свойств параметров

Добавьте модификатор доступа перед параметром конструктора, чтобы автоматически создать и инициализировать свойство класса.
class Person {
  constructor(
    public name: string,
    private age: number
  ) {} // properties created automatically
}

Типизированные методы

Методы класса используют те же аннотации типов параметров и возвращаемого значения, что и обычные функции.
class Calculator {
  add(a: number, b: number): number {
    return a + b;
  }
}

Геттеры и сеттеры

Используйте ключевые слова get и set для создания вычисляемых свойств. TypeScript проверяет их типы.
class Circle {
  constructor(private radius: number) {}
  get area(): number { return Math.PI * this.radius ** 2; }
  set r(v: number) { this.radius = v; }
}

Класс как тип

Класс задаёт и значение (функцию-конструктор), и тип (структуру экземпляра). Используйте имя класса в качестве аннотации типа.
class Dog { name = 'Rex'; bark() { return 'Woof'; } }
const d: Dog = new Dog();

Статические элементы

Статические свойства и методы принадлежат самому классу, а не его экземплярам. Обращайтесь к ним через имя класса.
class MathHelper {
  static PI = 3.14159;
  static square(n: number): number { return n * n; }
}
console.log(MathHelper.PI);

Наследование классов

Используйте `extends`, чтобы унаследовать класс от базового класса. Вызовите `super()` в конструкторе, чтобы инициализировать родительский класс.
class Animal {
  constructor(public name: string) {}
  speak(): string { return '...'; }
}
class Dog extends Animal {
  speak(): string { return 'Woof!'; }
}

Абстрактные классы

Абстрактные классы нельзя инстанцировать. Они задают контракт, который должны реализовать производные классы.
abstract class Shape {
  abstract area(): number;
  describe(): string { return `Area: ${this.area()}`; }
}
class Square extends Shape {
  constructor(private side: number) { super(); }
  area() { return this.side ** 2; }
}

Тип this в классах

Тип `this` обозначает тип текущего экземпляра и позволяет создавать цепочные интерфейсы и интерфейсы Builder с корректными возвращаемыми типами.
class Builder {
  private parts: string[] = [];
  add(p: string): this { this.parts.push(p); return this; }
  build(): string { return this.parts.join(','); }
}

Класс, интерфейс и тип

Классы являются значениями времени выполнения с конструкторами. Интерфейсы и псевдонимы типов существуют только на этапе компиляции и задают структуры типов. Используйте классы, когда Вам нужны создание экземпляров и методы.

Быстрая проверка

Каков эффект добавления `public` перед параметром конструктора в TypeScript?

Итоги

Классы TypeScript добавляют типы к классам JavaScript. Используйте свойства параметров для кратких объявлений, модификаторы доступа для инкапсуляции, а абстрактные классы — для обеспечения контрактов производных классов.

Часто задаваемые вопросы

Урок «Классы TypeScript и конструкторы» бесплатный?

Да — полный текст урока «Классы TypeScript и конструкторы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.

Чему я научусь в уроке «Классы TypeScript и конструкторы»?

Определяйте классы с типизированными свойствами и конструкторами Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать TypeScript Academy?

Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Классы TypeScript и конструкторы»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке TypeScript Academy?

Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Классы TypeScript и конструкторы
  2. Модификаторы public, private и protected
  3. Свойства readonly и свойства параметров
  4. Реализация интерфейсов с помощью классов
← Назад к TypeScript Academy