Продвинутый TypeScript | Использование EXTENDS для дженериков #frontend #typescript #javascript

10 Просмотры
Издатель
Мы можем использовать ключевое слова EXTENDS (Расширение), чтобы сузить область применения дженерика и сделать его более полезным.
Мы хотим получить глубокое значение от объекта obj.
Для получение глубокого значения, нам надо передать в функцию getDeepValue объект и затем два ключа.
const obj = {
    foo: {
        a: true,
        b: 2
    },
    bar: {
        c: 'cool',
        d: 2
    }
};

const result = getDeepValue(obj, 'bar', 'd');

Мы можем использовать `extends keyof Obj` для первого ключа, чтобы сказать что он должен быть ключем объекта. Мы получим автозаполнение.
А второй ключ, будет `extends keyof Obj[FirstKey]`. Теперь мы будем знать что

Нам надо узнать чему будет равен результат, потому что сейчас он возвращает any.

Мы можем указать `Obj[FistKey][SecondKey]` и теперь этот результат будет виден.

#reactjs
#react
#javascript
#typescript
#usestate
#useeffect
#frontend

Подписывайтесь на телеграмм, будем готовиться к собесам: https://t.me/it_tonylife
Подписывайтесь на boosty: https://boosty.to/maxfri
Категория
Программирование на javascript
Теги
leetcode, собеседование, задачи с собеседования
Комментариев нет.