Всем привет! Я придумал как у нас пройдёт добавление TypeScript в проект.
Первая серия будет до 10 минут. В этой серии мы установим зависимости, добавим конфиги.
Вторая серия будет до 15 минут. Мы поменяем расширения всех файлов.
И наконец, я подумал сделать курс по TypeScript. Третье видео будет длинным, 1 - 1,5 часа. Я разобью его на логические подтемы и также как и в курсе React, мы поэтапно будет знакомиться с ТС и добавлять его в наш реальный проект.
В основном во всех видео по ТС используют простые маленькие приложения, я считаю, что это не совсем удачный выбор. У нас же, должно быть все логично. У нас есть приложение, есть задача, а не кошечки-собачки, или todo листы.
Такой пример будет наглядным. Я постараюсь хорошо структурировать знания и все в понятной форме изложить. Простым языком и с объяснением логики того, что мы делаем.
Когда массив приходит в функцию, лучше его нетрогать. Вместо этого, создайте новый массив и вносите в него нужные изменения.
Это избавит вас от головной боли, если исходный массив используется ещё где-то в программе.
И вот это именно то, что называют иммутабельностью. Это не просто модное словечко, это хорошая практика. Функции, которые не меняют входные данные, называют чистыми. Они проще в отладке и тестировании.
Есть мутирующие методы sort(),reverse(),splice(), недавно были добавленны новые методыtoSorted(),toReversed(),toSpliced(). Они как раз не мутируют массив, а создают новый.
Раньше нам приходилось с помощью ... (spread operator) создавать новый массив. Каждый раз, когда этот код выполняется, создаётся новый массив, что потребляет дополнительную память. К тому же, метод .sort() сам по себе тоже требует ресурсов для выполнения сортировки.
В JavaScript есть методы, которые изменяют исходный массив, и такие, что оставляют его в покое, создавая новый. Разберемся, в чем разница.
Мутирующие Методы
push - добавляет элементы в конец массива. pop - удаляет последний элемент массива. splice - удаляет, заменяет или добавляет элементы.
Не Мутирующие Методы
slice - возвращает новый массив, "нарезая" старый. map - создает новый массив, преобразуя каждый элемент старого. filter - создает новый массив с элементами, которые прошли проверку.
В чем разница?
Мутирующие методы изменяют исходный массив, а не мутирующие - не изменяют.
Хороший пример: slice и splice. Оба вырезают кусок массива, но splice изменит исходный массив, а slice оставит его нетронутым.
Кстати, что для вас вообще является избытком? Если людей не берут на работу, только потому что они "учились", это считается, что специалисты не нужны?
Я просто помню давно хотел продавцом устроиться в МТС, меня не взяли, так как я не работал продавцом никогда, это считается, что продавцов много, избыток?
Кстати первая вакансия висит уже месяца 3, если не больше. И все это время в топе.
Смею предположить, что не могут найти специалиста. Стек там самый обычный, популярный TS, Redux, React. Проект тоже типичный, что-то типо админ панели для клиентов.
Наверное не могут выбрать из множества специалистов🤔
Каждую неделю я просматриваю hh. Смотрю вакансии, что предлагают, что хотят.
Из наблюдений: 1. Стало больше вакансий на Vue js 2. Количество вакансий в Москве увеличилось с ~1650 до 1813 (месяц назад было 1650) 3. Стало появляться больше вакансий для джунов
Различие заключается в том, что map возвращает новый преобразованный массив, а forEach позволяет просто итерироваться по массиву и добавлять свою логику.
В примере мы решили одну и ту же задачу разными методами.
Привет всем! Сегодня поговорим про два очень часто используемых метода массивов в JavaScript: forEach и map. Почему бы их не сравнить, чтобы вы точно знали, когда какой использовать? 🤔
forEach Этот метод просто проходится по всем элементам массива и делает с ними что-то полезное. Но сам массив при этом не изменяет. Он просто как турист: прошёл, посмотрел, но ничего не тронул.
map Этот метод похож на forEach, но с одним важным отличием: он создаёт новый массив на основе старого. Как будто клонирует массив, но при этом может что-то изменить в клонах.
Идея пришла в голову для стартапа. Сделать Опенсорс проект, приложение по типу викторины, где пользователь угадывает компанию по технологии. И суть в том чтобы отгадать за меньшее количество подсказок.
Еще можно было бы отгадывать технологию по описанию, применению, кто разработал и тд.
Так же были примеры использования и по этим примерам тоже можно было бы отгадывать, какая технология.
Так же в приложении по каждой технологии был бы обучающий контент - roadmap, ссылки для изучения
Потом можно было бы добавить общение пользователей. Пользователи могли бы вступить в клан своей технологии (типо аналог чатов в ТГ, групп) и учавствовать в турнирах, кто лучше знает свою технологию.