Typescript - Generics, Index Access Types, Keyof на простом примере

  Рет қаралды 8,649

PurpleSchool | Anton Larichev

PurpleSchool | Anton Larichev

Күн бұрын

Пікірлер: 51
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Для тех, кто хочет больше разобраться в TypeScript я подготовил полный курс: purpleschool.ru/course/typescript
@svet0v
@svet0v 6 ай бұрын
Failed to load resource: the server responded with a status of 429 ()
@СержИгрун
@СержИгрун 2 жыл бұрын
Считаю, самым лучшим лектором именно Вас Антон так как в инэте очень много не нужной воды. У вас все по существу без лишних движений . Купил все ваши курсы и не жалею , очень абгрейдился...
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо большое! Рад, что мои курсы приносят пользу)
@suslikest3708
@suslikest3708 5 ай бұрын
Выглядит на первый взгляд сложно, но объяснили отлично и все теперь выглядеть стало просто и логично👍
@PurpleSchool
@PurpleSchool 5 ай бұрын
@@suslikest3708 👍
@VitaliySunny
@VitaliySunny 8 ай бұрын
Вот это магия. Круть!
@PurpleSchool
@PurpleSchool 8 ай бұрын
👍
@ismalit
@ismalit 2 жыл бұрын
Офигенно!
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!
@tanyaDreamer
@tanyaDreamer Жыл бұрын
Спасибо, это самое понятное объяснение!
@PurpleSchool
@PurpleSchool Жыл бұрын
Пожалуйста 👍
@1kebastuz
@1kebastuz 2 жыл бұрын
Отличное объяснение. Спасибо.
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!)
@vadymkononenko685
@vadymkononenko685 2 жыл бұрын
ОФигенно подан контент!! Лайк!
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо)
@ibragimdaron4053
@ibragimdaron4053 2 жыл бұрын
Это было так хорошо, что я расплакался
@PurpleSchool
@PurpleSchool 2 жыл бұрын
😂
@zhenhok
@zhenhok 2 жыл бұрын
Большое тебе человеческое спасибо!
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Пожалуйста)
@deniskorablev2648
@deniskorablev2648 2 жыл бұрын
кайф, очень нравятся твои объяснения
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!)
@Elator11777
@Elator11777 2 жыл бұрын
Очень полезно, как раз искал подобное!
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Супер)
@whhhhitee
@whhhhitee 2 жыл бұрын
Очень красиво и доходчиво. Спасибо! Подписался
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!
@mushnikov35
@mushnikov35 2 жыл бұрын
Классно объясняешь ) хапанул пару курсов )
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Супер) Напиши потом в чате как впечатления)
@romanryaboshtan9270
@romanryaboshtan9270 Жыл бұрын
толковый пример для дженерика
@PurpleSchool
@PurpleSchool Жыл бұрын
👍
@sergeyplotnikov5031
@sergeyplotnikov5031 2 жыл бұрын
Очень крутое объяснение
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!
@The777Win777
@The777Win777 2 жыл бұрын
Видео топ, спасибо
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!
@biLLie_wiLLie
@biLLie_wiLLie 2 жыл бұрын
Нравятся видео про ts
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!
@АндрейСорокин-ь6ъ
@АндрейСорокин-ь6ъ 2 жыл бұрын
на ютубе очень не хватает контента для не новичков, спасибо!)
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Спасибо!
@nezhno-lw1mm
@nezhno-lw1mm Жыл бұрын
только эта инфа для новичков..
@atyapin
@atyapin Жыл бұрын
А почему не срабатывает L2 extends keyof L1? Ведь тип L1 уже понятен
@ondrui
@ondrui 2 жыл бұрын
Антон, спасибо за отличный урок!!! У меня такой вопрос если можно: а как мне правильно типы ключей записать если я хочу по ключам получить значение из подобного объекта, но не хочу функцию использовать? пример моей типизации ключа: дан объект const radioBtnValue = { usually: ["avgmin", "avgmax"], records: ["extmin", "extmax"], } нужно получить из него значение const min = radioBtnValue[radio as keyof typeof radioBtnValue] можно без as в данном случае обойтись? У меня на работе я постоянно с подобным сталкиваюсь и хочу от as уйти, но не могу кейс с решением найти(((
@xdarkfenixx
@xdarkfenixx 2 жыл бұрын
Антон, а можно разбор более интересного кейса, в котором параметры первого уровня вложенности могут быть опциональными? К примеру пункт на уровне design это Record, или может быть просто опциональным. Чуть позже могу сделать пример в какой нибудь песочнице
@PurpleSchool
@PurpleSchool 2 жыл бұрын
Можно так: function getMenu( obj: T, l1: L1, l2?: L2, ) { if(!l2) { return obj[l1]; } return obj[l1][l2]; }
@xdarkfenixx
@xdarkfenixx 2 жыл бұрын
@@PurpleSchool я имел в виду что то примерно вот такое www.typescriptlang.org/play?#code/KYOwrgtgBA0sCeBnAouaBvAUFHUBiA8gVALxQBEAZgPbXkA02uAQgIIBKpFARgIYBO5TAF9MmAJYgALsH6VeAY2BQC3AFbAFUqFlxQp8AA7AAXFERT+kgOaM9AbThJUkAHSECAXQD8ZvLSYcRwQUNFc2dh8zZgERMUkZOUVlAEkAZSleGR1AqEczNG5ZTzNVDS04iWlZeSV8Why9CGp+YAAVAAtQAsgi-lyAG2BERE7uqELZXOAARzBeAcQeiD64hJrkqBj+RtwIXkQAazMLKxBrXNbrYAAPE8sbabmFpfMH88qFahALN6zTKDpTLZMi6XAARjMYL0OAMxjM5BkNykDFyeho1ChaJhOFm80WZnBdhxMOarTGIDMACZiSTcEMRhSzAAGbE4UR6USiTBfH7aa5SAAiwGAhgACvxqMZ+AZSLkADxpKC3GQgAAmiEBGX+tJhADllcjQBqJr1ZLq9GLwYbVSanKFIBbcGKqTbjZrDghqJQoHrvnqwAMBrxuEN5WVNFIAHz2K2eKNsqAACgs-zMaXoUHEarMesznvgkKgVvzCCpZhdAEpSupI7HwZ5Y1TPKQo7sca0pGB+CA-jJ7NmfK57AWG95hwXm7lubzfohqBBlGQBcLRRKpbIDCngcBM0TYCEXBB3ERM+Q8S9yJWxEA
@ProJavaScript
@ProJavaScript 2 жыл бұрын
Спасибо. Я даже не знал, что TypeScript научился сам вычислять значение дженериков. Интересно только, почему вот та такой код он ругается, хотя по сути, всё тоже самое: ``` function get(v: T, l1: L1, l2: L2) { return v[l1][l2]; } const obj = {a: {d: 2}, b: {c: 1}} // Ошибка на значении 'c': // Argument of type 'string' is not assignable to parameter of type 'never'.(2345) get(obj, 'b', 'c') ```
@НейтральныйМаппер-з2м
@НейтральныйМаппер-з2м 2 жыл бұрын
Если вы используете знак равно в дженерике, то и не забывайте добавить вопросительный знак к параметрам с соответствующими типами
@alex_akuna
@alex_akuna 2 жыл бұрын
Блин я все понимаю но 4 строчка кода выгляди дико. Просто жесть.
@grgvgrgv
@grgvgrgv 2 ай бұрын
Более или менее, но русский язык надо подтянуть. И поменьше болтавни лишней.
@виртуоз_ру
@виртуоз_ру Жыл бұрын
Хорош 👍
@PurpleSchool
@PurpleSchool Жыл бұрын
Спасибо!
TypeScript - Union типы и TypeGuards
9:44
PurpleSchool | Anton Larichev
Рет қаралды 9 М.
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
To Brawl AND BEYOND!
00:51
Brawl Stars
Рет қаралды 17 МЛН
TypeScript generics или универсальный типы, обобщения
23:51
Михаил Непомнящий
Рет қаралды 35 М.
Generics: The most intimidating TypeScript feature
18:19
Matt Pocock
Рет қаралды 190 М.
TypeScript - Enums: Обзор и когда не надо использовать
11:24
PurpleSchool | Anton Larichev
Рет қаралды 15 М.
Как устроен PYTHON
37:44
про АйТи | IT Pro
Рет қаралды 35 М.
TypeScript Generics are EASY once you know this
22:21
ByteGrad
Рет қаралды 148 М.
Самые частые ошибки в TypeScript
9:41
PurpleSchool | Anton Larichev
Рет қаралды 18 М.
Learn TypeScript Generics In 13 Minutes
12:52
Web Dev Simplified
Рет қаралды 301 М.
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН