Что такое тип пропуска в TypeScript?

Cto Takoe Tip Propuska V Typescript



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

В этом руководстве объясняется тип утилиты «Omit» в TypeScript.

Что такое тип пропуска в TypeScript?

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







Синтаксис



введите NewType '=' Пропускать < Существующийтип, 'ИмяСвойства1' | 'ИмяСвойства2' | ... >

Приведенный выше синтаксис может « Пропускать ” несколько свойств “ Существующийтип », разделив их с помощью « ИЛИ (|)».



Давайте на практике воспользуемся определенным выше типом утилиты «Omit».





Пример 1. Применение параметра «Omit» с псевдонимом типа

В этом примере используется тип утилиты «Omit» для создания нового типа на основе существующего типа.



Код

Скопируйте данную строку кода в файл «.ts» проекта TypeScript:

введите Пользователь '=' {
имя : нить,
возраст : число,
расположение : нить
} ;

введите UserWithoutAge '=' Пропускать < Пользователь, 'возраст' >;

константа пользователь без отключения : ПользовательБезвозраста '=' {

имя : 'Или' ,

расположение : «Исламабад»

} ;

консоль. бревно ( пользователь без отключения ) ;

В этом коде:

  • « Пользователь Тип определяется указанным именем, возрастом и местоположением указанного свойства.
  • Далее « ПользовательБезвозраста ” новый тип создается из существующего типа «Пользователь» путем исключения его свойства «возраст» с помощью « Пропускать » Тип утилиты.
  • После этого объект « пользователь без отключения » типа «UserWithoutAge», в котором указываются все поля существующего типа «Пользователь», кроме «возраста».
  • Наконец, « консоль.log() Метод применяется для отображения объекта userwithoutage.

Выход

Скомпилируйте файл «.ts» и запустите автоматически сгенерированный файл «.js»:

тск основной. js //Компилируем файл.ts

узел главный. js //Запускаем файл .js

Видно, что терминал отображает выходные данные объекта нового типа «UserWithoutAge».

Пример 2. Применение типа «Omit» с интерфейсом

В этом примере применяется тип утилиты «Omit» с интерфейсами для создания нового типа.

Код

интерфейс Пользователь {

имя : нить ;

возраст : число ;

расположение : нить ;

}

введите NewPerson '=' Пропускать < Пользователь, 'возраст' | 'расположение' >;

константа человек : Новый человек '=' {

имя : 'Или'

} ;

консоль. бревно ( человек ) ;

Теперь указанные строки кода:

  • Определить интерфейс » Пользователь », имеющее следующие имя, строку и местоположение свойств.
  • Далее создайте новый тип « Новый человек » из существующего интерфейса «Пользователь», за исключением указанных в нем свойств возраста и местоположения.
  • После этого создайте объект нового типа «NewPerson» с именем « человек » указав только одно свойство, то есть «имя» существующего интерфейса «Пользователь».
  • Наконец, отобразите поля объекта «человек», используя « консоль.log() метод.

Выход

Скомпилируйте и выполните код:

тск основной. js //Компилируем файл.ts

узел главный. js //Запускаем файл .js

Терминал показывает только одно значение свойства нового типа «NewPerson», указанное в его объекте.

Пример 3. Применение типа «Omit» с помощью функции()

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

Код

интерфейс Пользователь {

имя : нить ;

возраст : число ;

расположение : нить ;

}

функция getUserDetails ( новый пользователь : Пропускать < Пользователь, 'имя' | 'расположение' > ) : число {

возвращаться ( новый пользователь. возраст )

}

константа новый пользователь : Пользователь '=' {

возраст : 40 ,

имя : 'Или' ,

расположение : «Исламабад»

} ;

константа Информация о пользователе '=' getUserDetails ( новый пользователь ) ;

консоль. бревно ( Информация о пользователе ) ;

Приведенный выше фрагмент кода:

  • Сначала создайте интерфейс» Пользователь » со свойствами имени, возраста и местоположения.
  • Далее определите имя функции « getUserDetails() », в котором отсутствуют свойства «имя» и «местоположение» типа «newuser» существующего интерфейса, то есть «Пользователь».
  • Эта функция возвращает числовое значение, то есть «возраст» пользователя.
  • Теперь создайте объект « новый пользователь » интерфейса «Пользователь», чтобы указать значения его свойств.
  • После этого вызовите определенную функцию «getUserDetails()», передав объект «newuser» в качестве параметра с помощью « Информация о пользователе ' постоянный.
  • Наконец, отобразите вывод «userDeatils» через « консоль.log() метод.

Выход

тск основной. js //Компилируем файл.ts

узел главный. js //Запускаем файл .js

Терминал показывает только « возраст », поскольку «имя» и «местоположение» исключаются с помощью типа утилиты «Пропустить».

Заключение

В TypeScript тип утилиты « Пропускать принимает существующий тип в качестве первого параметра и создает новый тип, исключая несколько свойств существующего типа. Этот тип утилиты помогает дублировать существующий тип для создания нового типа, имеющего некоторые его свойства, вместо создания нового типа с нуля. Его можно применять с псевдонимом типа, интерфейсами и функциями. В этом руководстве подробно объяснен тип утилиты «Omit» в TypeScript.