Свойства readonly и свойства параметров
Используйте readonly и сокращённую запись свойств конструктора
«Свойства readonly и свойства параметров» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Добро пожаловать
readonly у свойств класса
class Invoice {
readonly invoiceId: string;
constructor(id: string) { this.invoiceId = id; }
}
const inv = new Invoice('INV-001');
// inv.invoiceId = 'INV-002'; // Error!readonly в интерфейсах
interface Point { readonly x: number; readonly y: number; }
const p: Point = { x: 5, y: 10 };
// p.x = 0; // ErrorСвойства параметров
class Product {
constructor(
public name: string,
public price: number,
private sku: string
) {} // no need to write this.name = name; etc.
}Свойства параметров readonly
class Config {
constructor(
public readonly host: string,
public readonly port: number = 3000
) {}
}Инициализация в объявлениях
class AppVersion {
readonly version: string = '1.0.0';
readonly buildDate: Date = new Date();
}readonly и константа
const API_KEY = 'secret'; // block variable
class Service {
readonly key: string = API_KEY; // class property
}Тип объекта Readonly
interface User { name: string; age: number; }
const frozen: Readonly<User> = { name: 'Alice', age: 30 };
// frozen.name = 'Bob'; // Errorreadonly не выполняет глубокую заморозку
class Team {
readonly members: string[] = [];
}
const t = new Team();
t.members.push('Alice'); // Allowed — the array itself is mutable!
// t.members = []; // Error — can't reassign the propertyСвойства параметров избавляют от шаблонного кода
// Without parameter properties (verbose)
class A {
private x: number;
constructor(x: number) { this.x = x; }
}
// With parameter properties (concise)
class B {
constructor(private x: number) {}
}Когда следует избегать свойств параметров
Быстрая проверка
Итоги
Часто задаваемые вопросы
Урок «Свойства readonly и свойства параметров» бесплатный?
Да — полный текст урока «Свойства readonly и свойства параметров» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Свойства readonly и свойства параметров»?
Используйте readonly и сокращённую запись свойств конструктора Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Свойства readonly и свойства параметров»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Классы TypeScript и конструкторы
- Модификаторы public, private и protected
- Свойства readonly и свойства параметров
- Реализация интерфейсов с помощью классов