У нас есть 2 типа x и y и есть тип union
Нужно написать такую функцию, которая принимает этот union и если нам пришел первый тип, то есть X, то возвращаем «с» если нет, то вернуть строку «missing»
type X = {
a: 1;
b: number;
c: string;
}
type Y = {
a: 2;
b: string;
}
type UNION = X | Y;
// return a.c or 'missing'
function getC(a: UNION): string {
}Доп вопрос 1.
У нас есть 2-й тип Intersection. который пересекает 1-й и второй типы. Можешь написать такую константу b: intersection . Которая удовлетворяла бы этому типу.
// type INTERSECTION = X & Y
const b: INTERSECTION =
Доп вопрос 2.
Нужно написать тип — дженерик. Он принимает 2 значения . A и B. И допустим, если мы его вызовем с X Y. Он должен взять все свойства из X и если они есть в Y. Переписать их значениями из Y. Аналогично операции merge в lodash. Все значения, которые уже были переписываются.
// Merge<x, y> = {a: 2, b: string, c: string}
type Merge<A, B> =