Как упростить код TypeScript, используя некоторые основные типы сервисов

TypeScript — это язык программирования, разработанный Microsoft для выполнения масштабных проектов JavaScript. Например, такие инструменты, как портал управления Azure с 1.2 миллионами строк кода и Visual Studio Code с 300 тысячами строк кода, написаны с использованием TypeScript. TypeScript предлагает несколько функций для поддержки крупных проектов JavaScript, таких как улучшенные инструменты разработки, проверка типов при компиляции и документация на уровне кода.

TypeScript позволяет добавлять статическую типизацию в кодовую базу. Благодаря мощной системе типов TypeScript обеспечивает улучшенную читаемость кода и возможность обнаружения ошибок во время компиляции.

Одним из наиболее полезных аспектов TypeScript являются типы встроенных утилит, которые могут упростить ваши усилия по программированию и сэкономить драгоценное время разработки. Взгляните на типы обязательных утилит TypeScript, которые помогут вам с легкостью писать безопасный код. Проверять Лучшие приложения с открытым исходным кодом для редактирования HTML WYSIWYG.

Как упростить код TypeScript с помощью некоторых основных типов сервисов — Обучение

1. Частичные виды обслуживания

Тип Partial (служебный тип) TypeScript позволяет сделать любые свойства объекта необязательными. Позволяет создавать объекты с определенными свойствами, которые могут отсутствовать или не устанавливаться. Возьмем, например:

interface User { 
 name: string; 
 age: number; 
 email: string;
}

С типами Service Partial вы можете создать новый тип со всеми свойствами пользовательского интерфейса, заданными как необязательные:

type OptionalUser = Partial<User>

Теперь вы можете создать экземпляр OptionalUser всего с несколькими определенными свойствами:

const user: OptionalUser = { name: “John” };

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

2. Тип услуги

Тип сервиса Pick в TypeScript может помочь вам создать новый тип, выбрав только подмножество свойств из существующего типа. Это полезно, когда вам нужно сузить более крупный объект до нескольких обязательных свойств или если вы хотите принудительно ввести строгую типизацию для нужных вам свойств.

interface User { 
 location: string;
 age: number; 
 email: string;
}

type PersonWithoutEmail = Pick<User, ‘location’ | ‘age’>;

const person: PersonWithoutEmail = { 
 location: ‘USA’, 
 age: 30 
};

В этом примере интерфейс с именем Пользователь определяет три свойства: адрес электронной почты, возраст и местоположение.

с помощью типа услуги Выбирать Вы можете выборочно извлечь свойства Location и Age из пользовательского интерфейса, что создаст новый тип с именем PersonWithoutEmail.

Затем вы можете создать новый экземпляр типа «PersonWithoutEmail» и установить значения только для свойств «PersonWithoutEmail» и «Age». Так как свойство "email" отсутствует в этом типе, вы не можете присвоить его объекту.

С помощью типа службы Pick вы можете создать новый тип, включающий только нужные вам свойства. Это может помочь сделать ваш код более читабельным и с ним будет легче работать.

3. Тип службы только для чтения

Тип службы «Только для чтения» указывает, что атрибуты объекта нельзя изменить после создания. Этот тип обеспечивает долговременную согласованность данных объекта, что обеспечивает более плавную и безопасную обработку кода.

interface User {
 readonly name: string; 
 readonly age: number; 
 readonly email: string;
}

с помощью Тип службы только для чтения , вы можете создать новый тип со всеми свойствами пользовательского интерфейса, установленными только для чтения:

type ReadonlyUser = Readonly<User>

Вы можете указать значения свойств при создании экземпляра ReadonlyUser::

const user: ReadonlyUser = { 
 name: “John”, 
 age: 30, 
 email: “john@example.com” 
};

Когда вы помечаете свойства элемента как доступные только для чтения, попытка изменить значения этих свойств становится невозможной:

user.name = “Jane”;
// Error: Cannot assign to ‘name’ because it is a read-only property.

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

4. Требуемый тип услуги

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

interface User {
 name: string; 
 location: number; 
 address: string;
}

за счет использования Тип услуги Обязательно , можно создать новый тип, который собирает все атрибуты пользовательского интерфейса и требует присутствия каждого из этих свойств. RequiredUser может быть создан только после того, как все его свойства установлены правильно.

const user: RequiredUser = { 
 name: “John Doe”, 
 location: “USA”, 
 address: “Kansas 9745–0622” 
};

Использование типа службы «Обязательный» гарантирует наличие в объекте всех необходимых свойств.

5. Тип услуги Пропустить

Тип сервиса Omit позволяет создать новый тип, исключив определенные свойства из существующего типа.

interface Person {
 location: string; 
 age: number;
 email: string;
}

type PersonWithoutEmail = Omit<Person, ‘email’>;
const person:PersonWithoutEmail = { location: “USA”; age : 30 };

Интерфейс Person содержит три свойства: возраст, местоположение и адрес электронной почты. Тип PersonWithoutEmail использует тип службы Omit для включения всех свойств объекта Person, кроме электронной почты. Затем вы можете создать экземпляр этого нового типа, не указывая значение для свойства электронной почты.

Вы должны иметь в виду, что тип Omit Servant имеет много общего с типом Pick Servant в том, что он позволяет изобретать новый тип, используя только указанные вами свойства.

6. Запись типа услуги

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

type Record<K extends keyof any, T> = { [P in K]: T;};

Этот тип связывает T со значением каждого ключа, а K является объединением ключей любого типа. Результирующий объект имеет тип свойства P, установленный в T.

Рассмотрим сценарий типа объекта со строковыми ключами и числовыми значениями. В этом случае можно применить тип Тип услуги Запись Следующим образом:

type MyRecord = Record<string, number>;

const myObject: MyRecord = { 
 “foo”: 1, 
 “bar”: 2, 
 “baz”: 3,
}

В этом примере MyRecord определяется как тип объекта со строковыми ключами и числовыми значениями. myObject — это модель этого типа, в которой ключам «foo», «bar» и «baz» присвоены соответствующие значения. Проверять Лучшие бесплатные и платные инструменты мониторинга изменений контента сайта.

Упростите свой код с помощью типов служб TypeScript

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

Перейти к верхней кнопке