you probably dont care but if you guys are bored like me during the covid times then you can watch all of the latest movies and series on InstaFlixxer. I've been binge watching with my girlfriend lately :)
Спасибо за Ваш труд! По моему опыту я часто использую Partial ``` class User { age: number; name: string; constuctor(init: Partial = {}) { Object.assign(this, init); } } ```
Спасибо, используя данный плейлист во главе, а также другие дополнительные видео для закрытия некоторых вопросов и кончено документации TS - я по крайней мере понял базу TS. По счет, совета изучить Angular - заманчивое предложение. Комментарий в поддержку каналу.
Хороший курс. По декораторам ничего не понятно, а в этом видео было бы интересно узнать можно ли одновременно использовать несколько утилит (этот вопрос возник почти сразу, но в видео ответа нет)
Возник вопрос, если я делаю интерфейс и в нем есть не обязательное поле значение которого является объектом, в этом объекте поля могут называться как угодно, а вот значение этих полей только строка, как прописать условие, что если я создаю это поле, то значение должно быть объектом, но обязательно иметь хотябы одно свойство - значение т.е. объект не может быть пустым. Вот пример: interface IConf { prop_1: string; prop_2: string; prop_3?: { [property: string]: string }; } при такой записи, если я создаю свойство prop_3, то я почему-то могу ему в значение записать пустой объект prop_3: {}, как сделать так, что бы пустой объект нельзя было записать в значение, у этого объекта должно быть хоть одно свойство, есть какой-то механиз проверки на пустой объект?
Это не курс. Это краткий видеосправочник. Что тоже ценно - для обзора, для закрепления. Но эй, называть 7-минутные видео лекциями, а это всё курсом - эм... Ну, нет, эт не оно. В целом, спасибо за этот труд! Теперь я примерно знаю, куда двигаться дальше, что гуглить. Когда самоучишься, такие ёмкие обзорные штуки очень полезны.
насчет декораторов согласен, но с утилитами что не ясно, всм как их применять? утилиты сами описывают свои задачи, например у нас есть интерфейс большой, но нам из него нужно 2 поля и что бы они были не обязательными, мы можем сделать дубляж или пытаться как то менять наш интерфейс, или можно юзнуть типы сопоставления(утилиты) и написать код в одну строчку: Partial - готово, тут можно мутить че хочешь. У него примеры все какие то обосранные, например Record может заменить индексную сигнатуру, он вообще нужен для динамического определения. Ты можешь написать так: type KEK2 = Record, вместо interface IKEK { a: string, b: string c: string }, хотя его пример показывает тоже самое. Так код выглядит более лаконично и декларирование.
@@ВладиславБирюков-ш5э Сами утилиты понятны, но они сильно усложняют читаемость кода, и когда открываешь код, где они часто используются хочется выть от боли в глазах, а если ещё и они и вложены друг в друга несколько раз
Спасибо. А утилиты, в реальных проектах нужно дополнительно устанавливать или они доступны из коробки? Я пока только в песочнице тестирую, поэтому для меня не очень понятно.
Vue 2 плохо поддерживает тайпскрипт, особенно если смотреть на его экосистему, с тем же vuex. Вроде как в 3 уже получше да и пиниа уже есть там наверное тоже круче. Реакт насколько я слышал очень хорошо дружит с тайпскрипт, поэтому там влетит очень хорошо.
Реально, муть какая-то! Кто и зачем вообще это все придумал? Реально, все эти конструкции делают код нечитаемым! Я в вебе давно, мне непривычно наверное. Action Script 3 - вот адекватное типизирование, на мой взгляд. Было еще в 0вых! А с JS - перемудрили уже! Каких-то надстроек понапридумывали - не успел один фреймворк разобрать, 20 новых появляется. В нпме - полный бардак! И что интересно - проэкт на мегабайт, в модулях - под 100 мб какой-то ерунды, одна другую тянет. Зачем???
И главное! Где на сайтах появилось что-то, что для клиента лучше, чем то, что было на том же жквери реализовано? Весь этот маразм на большом проекте со временем превращается в кашу фреймворков, что ничуть не лучше спагетти на кверях :-) И глючит не меньше!
Раньше, скрипт поправил - склеил файлы и готово. Щас - куча обвязки вокруг банальнейших вещей - компиляция одного в другое третье. Ребята, успокойтесь уже! ЕС6 - уже хорошо, и то там намудрили немного. Но дальше - притормозите, вы скоро сами в этом всем не разберетесь!
Отличная подача, с лёгкостью понял как работать с тайпскриптом, спасибо!
Пожалуйста
Супер! Кратко, информативно, доступно.
Очень жду React + Typescript!
you probably dont care but if you guys are bored like me during the covid times then you can watch all of the latest movies and series on InstaFlixxer. I've been binge watching with my girlfriend lately :)
@Jett Gunnar yup, I've been using instaflixxer for months myself :)
Тяжело. Не работал с утилитами и для восприятия очень сложны.
Но, базовые знания получил, а дальше и сам смогу понять что к чему.
Спасибо за ролик )
Спасибо за отзыв
Спасибо большое за плейлист! Посмотрел залпом с удовольствием, очень хорошо рассказываешь
Спасибо за отзыв
Спасибо за Ваш труд! По моему опыту я часто использую Partial
```
class User {
age: number;
name: string;
constuctor(init: Partial = {}) {
Object.assign(this, init);
}
}
```
Спасибо, используя данный плейлист во главе, а также другие дополнительные видео для закрытия некоторых вопросов и кончено документации TS - я по крайней мере понял базу TS. По счет, совета изучить Angular - заманчивое предложение. Комментарий в поддержку каналу.
Спасибо за отзыв
Подробное и доступное раскрытие темы основ TYPESCRIPT!!
👍
спасибо, курс type script - легко и понятно
Пожалуйста)
спасибо за курс!
Всегда пожалуйста
очень понравилось объяснение Record. Берём рекод и получаем соответствующий тип, Супер !
Как уж есть
Отличная подборка! Спасибо
Пожалуйста
Хороший курс. По декораторам ничего не понятно, а в этом видео было бы интересно узнать можно ли одновременно использовать несколько утилит (этот вопрос возник почти сразу, но в видео ответа нет)
спасибо огромное
Пожалуйста
Возник вопрос, если я делаю интерфейс и в нем есть не обязательное поле значение которого является объектом, в этом объекте поля могут называться как угодно, а вот значение этих полей только строка, как прописать условие, что если я создаю это поле, то значение должно быть объектом, но обязательно иметь хотябы одно свойство - значение т.е. объект не может быть пустым. Вот пример:
interface IConf {
prop_1: string;
prop_2: string;
prop_3?: { [property: string]: string };
}
при такой записи, если я создаю свойство prop_3, то я почему-то могу ему в значение записать пустой объект prop_3: {}, как сделать так, что бы пустой объект нельзя было записать в значение, у этого объекта должно быть хоть одно свойство, есть какой-то механиз проверки на пустой объект?
Как через ts работать с dom?
Ts это просто типизация данных. Работа с DOM идёт через обычный JS
декораторы и понял и непонял)
Это не курс. Это краткий видеосправочник. Что тоже ценно - для обзора, для закрепления.
Но эй, называть 7-минутные видео лекциями, а это всё курсом - эм... Ну, нет, эт не оно.
В целом, спасибо за этот труд! Теперь я примерно знаю, куда двигаться дальше, что гуглить. Когда самоучишься, такие ёмкие обзорные штуки очень полезны.
👍
Це закінчений курс???
Да
А курс обновляется или выложен один раз как есть?
Пока не обновлялся
@@YauhenKavalchukну надо бы обновить и про декораторы рассказать качественнее )
Не очень понятно, как это всё можно применять. С типами и интерфейсами всё понятно, но с декораторами и утилитами нет.
Да, тут нужны production проекты...
@@YauhenKavalchuk понял)
насчет декораторов согласен, но с утилитами что не ясно, всм как их применять? утилиты сами описывают свои задачи, например у нас есть интерфейс большой, но нам из него нужно 2 поля и что бы они были не обязательными, мы можем сделать дубляж или пытаться как то менять наш интерфейс, или можно юзнуть типы сопоставления(утилиты) и написать код в одну строчку: Partial - готово, тут можно мутить че хочешь. У него примеры все какие то обосранные, например Record может заменить индексную сигнатуру, он вообще нужен для динамического определения. Ты можешь написать так:
type KEK2 = Record, вместо
interface IKEK {
a: string,
b: string
c: string
}, хотя его пример показывает тоже самое. Так код выглядит более лаконично и декларирование.
@@ВладиславБирюков-ш5э Сами утилиты понятны, но они сильно усложняют читаемость кода, и когда открываешь код, где они часто используются хочется выть от боли в глазах, а если ещё и они и вложены друг в друга несколько раз
Спасибо. А утилиты, в реальных проектах нужно дополнительно устанавливать или они доступны из коробки? Я пока только в песочнице тестирую, поэтому для меня не очень понятно.
Доступны из коробки)
Vue 2 плохо поддерживает тайпскрипт, особенно если смотреть на его экосистему, с тем же vuex. Вроде как в 3 уже получше да и пиниа уже есть там наверное тоже круче. Реакт насколько я слышал очень хорошо дружит с тайпскрипт, поэтому там влетит очень хорошо.
👍
Я знаю кунг-фу ©
🤣👍
+
👍
Отвал башки!
👍
вот это дичь этот ts. но для извращенцев и тех, кому скучно на фронте - пойдет 👍👍
сто процентов!
Реально, муть какая-то! Кто и зачем вообще это все придумал? Реально, все эти конструкции делают код нечитаемым! Я в вебе давно, мне непривычно наверное.
Action Script 3 - вот адекватное типизирование, на мой взгляд. Было еще в 0вых! А с JS - перемудрили уже! Каких-то надстроек понапридумывали - не успел один фреймворк разобрать, 20 новых появляется. В нпме - полный бардак! И что интересно - проэкт на мегабайт, в модулях - под 100 мб какой-то ерунды, одна другую тянет.
Зачем???
И главное!
Где на сайтах появилось что-то, что для клиента лучше, чем то, что было на том же жквери реализовано?
Весь этот маразм на большом проекте со временем превращается в кашу фреймворков, что ничуть не лучше спагетти на кверях :-)
И глючит не меньше!
Раньше, скрипт поправил - склеил файлы и готово.
Щас - куча обвязки вокруг банальнейших вещей - компиляция одного в другое третье.
Ребята, успокойтесь уже! ЕС6 - уже хорошо, и то там намудрили немного.
Но дальше - притормозите, вы скоро сами в этом всем не разберетесь!
@@olezhonnv3215 Вы что курите?
все, хватит, 90-е с одним си и двумя библиотека для всего проекта уже не будет, новая реальность страшна, но надо адаптироваться