МАШИНОСТРОИТЕЛЬ В ГЛУБИНЕ

Давайте попробуем ответить на самый задаваемый вопрос на собеседовании о машинописном тексте. Что такое объединение и литерал в машинописном тексте? один из самых часто задаваемых вопросов на машинописном
собеседовании

В этом руководстве по машинописному тексту мы увидим, что такое
типы объединения и литеральные типы в машинописном тексте.

Задача без типа union

теперь с машинописным текстом у нас есть лучший контроль над нашим кодом, и мы можем выразить
вещи более типизированным способом, но иногда нам нужно другое поведение, позволяющее
сказать, что у меня есть API, который отправляет мне данные, а иногда он отправляет мне объект и
иногда сообщение в ложном случае, например, не найдено или паршивый запрос в этих случаях
У меня не может быть права на один тип данных, поэтому мы должны использовать любой тип вместо их

function fetchrecords() {
// we make our api call and in success call back 
      let data:any = result//result is the return from the api
      //
}

приведенный выше код выглядит работающим, но если мы углубимся в него, мы отойдем
от основного поведения машинописного текста, который является его типом поддержки
поэтому
теперь у нас есть две проблемы: одна из них — мы хотим наш тип должен быть динамическим, например, он может быть
также строковым, а тип костюма позволяет сказать, что сотрудник также
кроме того, другой
заключается в том, что мы хотим, чтобы наши данные были надлежащего типа (статический тип также )

Тип союза в действии

для решения таких проблем у нас есть типы объединения в typescript
поэтому давайте
посмотрим, как выглядит наш код, когда мы применяем к нему типы объединения

function fetch records() {
// we make our API call and in success call back 
      let data:Employee | string = result
//result is the return from the API      //
}

так что теперь данные могут быть типа сотрудника или типа строки, и никакой другой тип не является допустимым
, кроме этих двух типов

Буквенные типы

Проблема

теперь давайте сделаем шаг вперед и посмотрим, какие литеральные типы в
typescript
скажем, у меня есть функция

function getJuice(fruit:string){
    let fruitjuice = ''
    //we make juice of it 
    return fruitjuice;
}

теперь приведенная выше функция проста для понимания, она принимает фрукт, делает свой сок
и возвращает фруктовый сок
теперь давайте вызовем его с некоторыми фруктами

getJuice('Apple')
getJuice('Mango')
getJuice('computer')

теперь в приведенном выше коде вы увидите, что яблоко и манго являются допустимыми фруктами, но
компьютер — нет, и у нас нет никаких ограничений, поскольку наша функция принимает
строку, которую мы можем передать ей что угодно
однако это неправильно, нам нужно убрать
для пользователя только для ввода действительных элементов из группы элементов, скажем,
фрукт может быть только «яблоко», «манго», ' Orange.'
кроме того, все остальные передаваемые значения
должны быть недействительными, в этом случае мы используем строковые литералы, поскольку мы используем
литерал для строкового типа
, так что теперь давайте посмотрим, как работает наш код. будет выглядеть

Буквенные типы в действии

function getJuice(
){
    let fruitjuice = ''
    //we make juice of it 
    return fruitjuice;
}
getJuice('Apple')
getJuice('Mango')
getJuice('computer')

теперь последняя строка в коде «получить сок (компьютер»)» выдаст ошибку

это литеральные типы
Я надеюсь, что это прояснило ваше представление о том, что такое литерал
и типы объединения

Спасибо