Что такое keyof typeof в TypeScript.

preview_player
Показать описание
Разбираемся с операторами запроса ключей - keyof и запроса типа - typeof в TypeScript на реальных примерах. А так же, какую пользу можно извлечь из использования этих двух операторов вместе. В основе keyof лежат литеральные типы, с них мы и начнем.

00:00 - Литеральные типы как основа keyof
01:09 - Запрос ключей keyof
02:08 - keyof при работе с классами
02:55 - typeof в JavaScript и в TypeScript
04:04 - keyof typeof вместе
04:41 - Используем с enum
05:50 - Пример использования с валидацией формы

Приятного просмотра! Буду благодарен за поддержку в виде комментария и лайка!

✔️ Если хочешь изучать программирование со мной, не забудь подписаться :)

#typescript #тайпскрипт #keyoftypeof #keyof #typeof #enum
Рекомендации по теме
Комментарии
Автор

Для каких целей используете данные операторы?

wisejs
Автор

Материал просто бомаба! Чел я не знаю куда ты пропал, но надеюсь с тобой все в порядке! ВЕРНИСЬ УМОЛЯЮ!

fergussawyer
Автор

Да, реально помогает лучше и глубже понять keyof, typeof, спасибо большое )

gritsienkooleg
Автор

Thanks for the tutorial friend.
It's definitely one of the best on the internet.

garikmelqonyan
Автор

Круто спасибо за эту серию видео, прям очень актуально

dmitrykorovin
Автор

Отличное видео для понимания keyof и typeof😊. Спасибо автору!

xespprt
Автор

Спасибо, великолепная подача, наглядные примеры!

nikolaynoda
Автор

Видео просто СУПЕР!!! Максим, вы продолжаете радовать нас таким же великолепным, как и раньше, контентом, как у вас это получается??? Огромное спасибо за крутой ролик да ещё и без рекламы!👍👍👍👍👍👍👍

romanpohribniak
Автор

Спасибо, полезное видео! Особенно понравилось применение с женериками

Ushakov.M
Автор

шикарное видео/объяснение/подача, спасибо

vadikot
Автор

И вот только после вашего видео я начал понимать что происходит! Спасибо)

melodystic
Автор

Твои видосы по ts на вес золота) спасибо 🤝

fidgetmania
Автор

Спасибо тебе добрый человек за столь доступный и понятный материал!
Лайк и подписка в копилку.
+100500 тебе в карму братец)

AibekSadraliev
Автор

Спасибо з подробные видео 👍В пакете ngrx используются довольно заковыристые типы дженериков. У Алекса Окрушко есть одно видео с разбором с Харьковского митапа. Но было бы интересно послушать больше видео с разбором типов из ngrx

TheKievsash
Автор

Классное видео. Объясните пожалуйста почему в конце lol Boolean, тогда как в нем строка kek? Я понимаю что это то что возвращает функция, но потерял нить на “kek”. Спасибо

mvader
Автор

Автор спасибо за простое и понятное объяснение, супер! Подскажи пожалуйста что означает запись [key in keyof typeof formData]: boolean. Как он итерирует массив, или как это называется когда внутри массива есть key in ... ? Хочу почитать про это

fgood
Автор

Можете объяснить, что это за запись такая "declare function" ? Гугл совпадений не нашел. Это по типу интерфейсов, задаешь сигнатуру функции и должен ее реализовать и возвратить объект с булевым значением? .А то компиллер не ругается на запись, а в браузере пишет что validate is not defined

zergzerg
Автор

Thanks for your video. It is awesome!
Can you agree with these?

// 'type', 'interface', and the result of 'typeof' are types -> they cannot be used for console.log(SomeType) or for typeof SomeType;
// 'enum' and 'class' are also types but can be used as a value for console.log(SomeType) due to toString() representation and for typeof SomeType;
// everything else is considered a value;

// typeof
// in any declaration, typeof works only for values or 'enum' and 'class' types;
// in a type declaration (type types = ...) typeof autodetects the type with an internal structure;
// in a value declaration (const types = ...) on 'enum' typeof has internal representation as 'object';
// in a value declaration (const types = ...) on 'class' typeof has internal representation as 'function';
// in a value declaration (const types = ...) on values it works as in plain javascript;

// keyof
// keyof works only for type declaration (type keys = ...) and only with types: 'type', 'interface', 'enum', 'class', and the result of typeof;
// keyof on 'type' -> returns internal representation of 'type' object ("toString", ...) -> useless;
// keyof on 'interface' -> returns public non-static properties and methods names;
// keyof on 'enum' -> returns keys;
// keyof on 'class' -> returns public non-static properties and methods names;
// keyof on typeof 'class' returns static keys and 'prototype';
// keyof on values by using the result of typeof (keyof typeof SomeValue;
// to get the keys for value declarations (const keys = ...) we use Object.keys(SomeValueOrType) both for values and types;

yaroslavzdanovskiy
Автор

3:18 а почему ты там только объект увидел? Там ведь и string и number и еще полно всего

uzqghfp
Автор

А не лучше описать ValidationResult как Record<keyof typeof formData, boolean>

vuhnuli