Middle+
Dritter Teil der TypeScript-Aufgabe: Erstellen Sie einen neuen Typ basierend auf dem Typ Delivery, bei dem alle Felder optional sind (können den Wert undefined haben) und ihren Wert nicht ändern können (readonly). Verwenden Sie die Hilfstypen Partial und Readonly.
sobes.tech KI
Antwort von AI
В TypeScript можно создать новый тип, который делает все поля исходного типа Delivery опциональными и readonly, используя утилитарные типы Partial и Readonly вместе:
type Delivery = {
address: string;
date: Date;
cost: number;
};
// Новый тип с опциональными и readonly полями
type ReadonlyPartialDelivery = Readonly<Partial<Delivery>>;
// Пример использования
const delivery: ReadonlyPartialDelivery = {
address: '123 Main St'
};
// delivery.address = '456 Other St'; // Ошибка: нельзя изменять readonly поле
Partial<T> делает все поля типа T опциональными, а Readonly<T> — делает все поля только для чтения. Их комбинация позволяет получить тип с опциональными и неизменяемыми полями.