Новые декораторы в TypeScript 5.0!

preview_player
Показать описание
Детально разберём, какие декораторы из JavaScript Stage 3 нам доступны в TypeScript 5.0 beta и посмотрим на несколько примеров их использования.

🔗 Ссылки:

Разделы видео:
0:00 - Введение
0:09 - Что будет в видео
0:41 - Подготовка проекта
2:19 - Декоратор метода (method decorator)
7:12 - Пример - Декоратор Max number
11:00 - Декоратор класса (class decorator)
13:27 - Декоратор поля (field decorator)
16:58 - Декоратор setter (setter decorator)
19:09 - Пример - setter проверка на строку
21:40 - Контекст (context)
23:37 - Заключение
Рекомендации по теме
Комментарии
Автор

ClassMethodDecoratorContext - ts не находит имя такого типа. Что я делаю не так?

itsfunny
Автор

Спасибо за видео, но все равно так и не понял в чем преимущества декораторов и почему это не оверхед, в котором можно сделать доп ошибки, которые еще сложнее потом найти.

Только вникаю в декораторы и DI, и честно до конца не могу понять в чем их соль, если все тоже самое можно изменить на обычную функцию, которая вызывается внутри функции. А вот сам код и типизация по написанию декоратора выглядят очень громоздко и нечитабельно. (По крайней мере сейчас для меня).

Стоит ли столько лишнего кода, где можно сделать ошибку того, чтобы просто вынести часть функционала в декоратор до декорируемой функции? Реально ли упрощает это написание тестов, вместо лишнего мока?

Согласен, что с nestJS, валидациями, где код библиотек, фреймворков выглядит неплохо, таким образом четко отделяя нашу логику от навешанной извне. Но зачем мне писать свои декораторы я так и не понял, вместо обычного вызова своей pure функции в функции.

И не очень пока еще понятно как писать юнит тесты на функции с декораторами.

P.S. За видео спасибо, просто озвучил вопросы, которые остались после видео.

MorfinBrood
Автор

Спасибо автору за старания! Но я таки не понял, ЗАЧЕМ он нужен? - я не очень умный, но мне очень интересно.
Все видео в голове крутилась мысль: "я могу сделать все тоже самое, но без декоратора". Нужен более приземленный пример, который поможет сформировать ассоциативный образ в памяти. К сожалению, это видео не избавило меня от "боли непонимания"...🥵

SergeyTish
Автор

обновить бы курс на udemy этими правками!

OleksiiMalichenko
Автор

Спасибо за видео! Подскажи как называется твоя тема для VSCode?

nukkable
Автор

Так и в чём отличие от предыдущей версии? Они теперь просто по умолчанию включены и всё?

hgfyos
Автор

Привет! Не уловил, может декоратор метода вызывать этот метод ? (предположим у меня обсервер. В классе декоратор наблюдаю за изменениями и вызываю метод при обновлении )
ЗЫ надеюсь обьяснил)

Павел-ъбэ
Автор

Но в field декораторах же можно проксировать объект, что в целом может быть полезно

nefedov-dima
Автор

Привет! Было бы очень классно, если бы ты смог сделать разбор по метаданным, допустим на примере работе контроллера в nest 🙏

habitML
Автор

"Открыл форточку"
Что бы инициировать проект по умолчанию можно аргументом кинуть — y
"Закрыл форточку"

awenn
Автор

Автор не показал ДО и ПОСЛЕ того, как обновился ts. За это дис. Т.к. не совсем понятны отличия.

Et
Автор

Посмотрел комменты и понял, что не один я такой, кто не уловил смысл в дичайшей непонятной записи декоратора.

jack-lizard
Автор

Может у меня дежавю из за просмотра курса, но ощущение что это перезалив

coderoom
Автор

Интересный конечно редактор, ток странный какой то, мышкой считай и не пользуешься

awenn
Автор

Честно говоря, вообще не понятно на кой хрен этот декоратор нужен. Если есть необходимость проверить число на больше или меньше, то на кой ляд городить огород? Неужели нельзя просто написать проверку в теле самой функции?

jack-lizard
Автор

очень сложное объяснение, поищу другие видео)

wtfnastia