Основы TypeScript: Создание типов, перечислений и интерфейсов
Присоединяйтесь к нам, чтобы изучить искусство создания типов, использования перечислений для именованных констант и проектирования понятных интерфейсов для улучшения совместной работы и удобства сопровождения в проектах TypeScript.
В TypeScript вы можете определять пользовательские типы, перечисления и интерфейсы для создания структурированного и более выразительного кода. Давайте рассмотрим каждую из этих концепций:
Создание типов
Типы позволяют задать пользовательские имена для существующих типов или создать объединение типов.
type Status = "success" | "error";
function processStatus(status: Status): void {
console.log(`Processing status: ${status}`);
}
let myStatus: Status = "success";
processStatus(myStatus); // Output: Processing status: successВ этом примере Status — это пользовательский тип, представляющий либо success, либо error.
Перечисления
Перечисления — это способ дать более дружелюбные имена наборам числовых значений.
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT",
}
let playerDirection: Direction = Direction.Up;
console.log(`Player is moving ${playerDirection}`); // Output: Player is moving UPЗдесь Direction — это перечисление со строковыми значениями, присвоенными каждому члену.
Интерфейсы
Интерфейсы определяют контракты для форм объектов, позволяя вам указать структуру, которой должны придерживаться объекты.
interface Person {
firstName: string;
lastName: string;
age: number;
sayHello: () => void;
}
const john: Person = {
firstName: "John",
lastName: "Doe",
age: 30,
sayHello: () => {
console.log(`Hello, I'm ${john.firstName} ${john.lastName}.`);
},
};
john.sayHello(); // Output: Hello, I'm John Doe.В этом примере Person — это интерфейс, определяющий структуру объекта с полями firstName, lastName, age и методом sayHello.
Комбинирование типов, перечислений и интерфейсов
type Car = {
make: string;
model: string;
year: number;
};
enum FuelType {
Gasoline = "Gasoline",
Electric = "Electric",
Hybrid = "Hybrid",
}
interface ElectricCar extends Car {
batteryCapacity: number;
fuelType: FuelType.Electric;
}
const myElectricCar: ElectricCar = {
make: "Tesla",
model: "Model 3",
year: 2022,
batteryCapacity: 75,
fuelType: FuelType.Electric,
};Здесь у нас есть тип Car, перечисление FuelType и интерфейс ElectricCar, расширяющий тип Car. myElectricCar — это объект, соответствующий интерфейсу ElectricCar.
Эти концепции позволяют создавать более надёжный и удобный в обслуживании код, обеспечивая чёткую структуру и предоставляя осмысленные имена для типов и значений.
Основы TypeScript
- Основы TypeScript: компилятор TypeScript (
tsc) иtsconfig.json - Основы TypeScript: JavaScript в сравнении с TypeScript
- Основы TypeScript: Примитивы и базовые типы
- Основы TypeScript: Неявные и Явные типы, Утверждения типов
- Основы TypeScript: Создание типов, перечислений и интерфейсов
- Основы TypeScript: Объединение, Литеральные и Размеченные типы
- Основы TypeScript: Типизация функций и сигнатур
- Основы TypeScript:
Any,Void,Never,Null, Строгие проверки Null - Основы TypeScript: ООП практика, классы и наследование