Мы можем использовать ключевое слова 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
Мы хотим получить глубокое значение от объекта 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, собеседование, задачи с собеседования
Комментариев нет.