JavaScript Learning @js_per_month Channel on Telegram

JavaScript Learning

@js_per_month


Обучающий канал по JavaScript

По всем вопросам @valentin_mascarov

JavaScript Learning (Russian)

Добро пожаловать в увлекательный мир JavaScript! Канал "JavaScript Learning" призван помочь всем желающим освоить этот язык программирования. Здесь вы найдете уроки, полезные советы, задачи для практики и многое другое. Независимо от вашего уровня подготовки, мы готовы помочь вам стать опытным специалистом в JavaScript. Подписывайтесь на наш канал @js_per_month и начинайте погружение в мир веб-разработки. Если у вас возникли вопросы или вы хотите обсудить что-то конкретное, обращайтесь к администратору @valentin_mascarov. Давайте вместе делать JavaScript еще более увлекательным и доступным!

JavaScript Learning

16 Nov, 15:45


😯 Топ 7 библиотек для управления состоянием в React

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

Смотреть статью

JavaScript Learning

15 Nov, 12:07


Забудьте о конкатенации, используйте шаблонные строки (литералы)

Конкатенация строк с помощью оператора "+" – это старая школа. Более того, конкатенация строк с участием большого количества переменных (или выражений) повышает риск возникновения путаницы и ошибок.

Шаблонные строки (или литералы) позволяют встраивать выражения прямо в текст. Они обладают уникальным синтаксисом, при котором строка заключается в обратные кавычки (``). Шаблонная строка может содержать места для подстановки динамических значений. Такие места отмечаются знаком доллара и фигурными скобками. Например, ${выражение}.

JavaScript Learning

13 Nov, 17:08


Когда можно создать стандартную функцию, можно создать и стрелочную. Обычно второй вариант лучше, так как синтаксис проще.

В React часто используют стрелочные функции для создания компонентов и для методов массивов высшего порядка, таких как map() и filter().

JavaScript Learning

11 Nov, 16:37


#вопросы_с_собеседований
Напишите "однострочное" решение, вычисляющее сумму квадратных корней всех чётных чисел массива из целых чисел.

Метод reduceRight() применяет функцию к аккумулятору и каждому значению массива справа налево, сводя массив в одно значение.

JavaScript Learning

11 Nov, 14:44


🔥Тест по React JS от OTUS🔥

— Ответьте на 19 вопросов и проверьте, насколько хорошо вы знаете язык. Сможете сдать — пройдёте на продвинутый онлайн-курс по React.js со скидкой!

🚀ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА ПО REACT.JS https://clck.ru/3EYFtg

Курс доступен в рассрочку.

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

JavaScript Learning

11 Nov, 12:00


Кэширование длины в цикле

Когда мы изучаем программирование на JavaScript, то во всех туториалах встречаем стандартную конструкцию цикла for (пример №1 на картинке).

Нужно следовать рекомендованному шаблону, ведь так? Но он не совсем оптимален. На каждой итерации цикла длина массива array будет высчитываться заново. Иногда это полезно, но в большинстве случаев эффективнее будет ее кэшировать после первого расчета. Для этого создадим переменную length. Это можно сделать в первой части условия, вместе с определением счетчика цикла (пример №2).

Лаконичность кода почти не страдает, но при работе с большими массивами он будет работать немного эффективнее.

JavaScript Learning

10 Nov, 20:48


Деструктуризация псевдонимов

Деструктуризация — довольно приятное дополнение в JavaScript, так как иногда предпочтительно ссылаться на свойства под другим именем, и можно использовать псевдонимы.

JavaScript Learning

07 Nov, 18:06


#Вопросы_с_собеседования

Как добавить в строку пробелы или другие символы?

padStart
добавляет в начало строки символы, пока она не достигнет длины, заданной первым параметром. Вторым параметром можно указать любой символ. padEnd работает аналогично, добавляя символы в конец.

JavaScript Learning

07 Nov, 15:11


🚀 Вебинар: Погружение в децентрализованные технологии🚀

Узнайте, как использовать Solidity для создания продвинутых dApp. Этот вебинар важен для понимания текущего состояния и потенциала Web3, что критично для разработчиков в освоении Solidity и создании продвинутых dApp.

Дата и время: 11.11.2024 в 20:00 (мск)

На уроке будет:
- Обсуждение базовых технологий, включая блокчейн и смарт-контракты
- Представление и анализ нескольких децентрализованных приложений
- Рассмотрение успешных кейсов использования Solidity
- Обсуждение безопасности
- Прогнозы и перспективы развития децентрализованных технологий

В результате участники получат актуальные знания о применении Solidity в разработке современных dApp.

Не упустите возможность узнать больше о dApp и их потенциале!

👉 Зарегистрируйтесь для участия: https://clck.ru/3ETpDu

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

JavaScript Learning

07 Nov, 09:31


Задача

Дано натуральное число, необходимо преобразовать его в римскую запись.

Римские цифры представлены семью разными символами:

I - 1,
V - 5,
X - 10,
L - 50,
C - 100,
D - 500,
M - 1000

Справка: римские цифры обычно пишутся от наибольшего к наименьшему слева направо. Однако цифра четыре - это не IIII. Вместо этого число четыре записывается как IV. Поскольку единица стоит перед пятью, мы вычитаем ее и получаем четыре. Тот же принцип применяется к числу девять, которое записывается как IX.

Вычитание используется в шести случаях:

- I можно поставить перед V (5) и X (10), чтобы получилось 4 и 9.
- X можно поставить перед L (50) и C (100), чтобы получилось 40 и 90.
- C можно поставить перед D (500) и M (1000), чтобы получилось 400 и 900.

Входные данные: n - натуральное число от 1 до 3000.

Вывод: римская запись числа n.

Ответ

JavaScript Learning

06 Nov, 18:27


JavaScript. Что будет выведено в консоль?

Ответ

JavaScript Learning

06 Nov, 15:01


🦾 Пришло время повысить свои навыки разработки с помощью TypeScript!

«Практический курс по TypeScript» от OTUS — это не только актуальная теоретическая база, но и практика на реальных кейсах.
Под руководством опытных экспертов вы изучите, как TypeScript взаимодействует с разными фреймворками, и научитесь использовать его преимущества на всех уровнях разработки.

Повышайте эффективность и надежность вашего кода! Выполненный проект по реальному кейсу усилит ваше портфолио и выделит вас среди других специалистов.

Начните обучение прямо сейчас и станьте востребованным TypeScript-разработчиком.

🔗 Подробнее о курсе: https://clck.ru/3ESZEE

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

JavaScript Learning

06 Nov, 08:38


Magnify Glass w/ Zoom

Изначально на картинку накладывается фильтр blur. В js создана логика, благодаря которой фильтр убирается в месте, где находится курсор пользователя.

https://codepen.io/kitjenson/pen/ExLRrgw

JavaScript Learning

05 Nov, 07:07


#Вопросы_с_собеседования
В чем разница между обычной функцией и функциональным выражением?

Вызов notHoistedFunc приведет к ошибке, а вызов hoistedFunc нет, потому что hoistedFunc «всплывает», поднимается в глобальную область видимости, а notHoistedFunc нет.

JavaScript Learning

04 Nov, 09:38


Различие между Object.freeze() и const

const и Object.freeze – две разные фичи JavaScript. const применяется только для неизменяемой ссылки на ячейку памяти со значением, что означает невозможность задать новое значение для переменной.

Object.freeze работает со значениями объектов. Делает объект неизменяемым, то есть изменить его свойства невозможно.

JavaScript Learning

01 Nov, 12:20


Clocktober day 21: Perspective - Стильные часы для вашего сайта

https://codepen.io/jkantner/pen/BaMazpK

JavaScript Learning

31 Oct, 07:12


Спред-оператор

Дает возможность развернуть массив, объект или строку на элементы.

JavaScript Learning

30 Oct, 18:28


CSS Dots wave

Анимированная сцена, реализованная с помощью SCSS, без использования JavaScript.

https://codepen.io/amit_sheen/pen/vYpZBwP

JavaScript Learning

30 Oct, 15:28


⚡️ Открытый урок «Создание мощных GraphQL серверов с TypeScript и NestJS»

🗓 6 ноября в 19:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Практический курс по TypeScript» от Otus.

На вебинаре разберем:

✔️ как с нуля построить высокопроизводительный GraphQL сервер, используя TypeScript и фреймворк NestJS;
✔️ как проектировать архитектуру серверной части для обеспечения масштабируемости и безопасности;
✔️ а также, обсудим основные принципы GraphQL, настройку схем, резолверов и интеграцию с базой данных.

🔗 Ссылка на регистрацию: https://clck.ru/3EJLFv

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

JavaScript Learning

30 Oct, 11:42


Быстрое округление

Если нужно сделать дробное число целым, вы используете Math.floor(), Math.ceil() или Math.round() – в зависимости от нужного эффекта. Но есть и более быстрый путь – побитовое ИЛИ.

Поведение оператора с положительными и отрицательными операндами отличается. Положительные округляются вниз, негативные – вверх. Все цифры после десятичной точки удаляются.

JavaScript Learning

28 Oct, 18:41


Анимированный полет с помощью Theatre.js и React Three Fiber

Разбираемся, как отобразить 3D-сцену на веб-странице и перемещать по ней камеру во время прокрутки пользователем. Всего 50 строк кода.

Читать

JavaScript Learning

28 Oct, 15:11


Введение в смарт-контракты и пример создания своего токена
Бесплатный вебинар для погружения в смарт-контракты и написание на языке Solidity

Время и дата проведения: 31.10.2024 в 20:00

Особенности вебинара:
- Общая информация про блокчейн, смарт-контракты
- Введение в смарт-контракты
- Практическая часть - написание своего токена

Спикер:
Александр Куперман, Senior Solidity Engineer (Швейцария). Программирует более 20 лет, специалист по Solidity, блокчейн стеку. Работал в Blue Brain Project, Cleverdist, Huawei, Valory. Образование: НГТУ (Россия), UOU (Корея), RPI (США).

Этот вебинар — часть курса Solidity Developer. В рамках курса вы получите знания и сможете применять их на практике под руководством опытных преподавателей.

👉 Для участия в вебинаре зарегистрируйтесь на сайте: https://clck.ru/3EFbkb

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

JavaScript Learning

28 Oct, 13:47


Разница операторов сравнения в двух словах

Оператор == выполняет преобразование типов, а === нет. Именно поэтому === обычно и используется.

JavaScript Learning

27 Oct, 15:04


Как getElementByID работает в JavaScript?

Метод документа getElementById() возвращает объект, представляющий элемент, свойство id которого совпадает с заданным значением. Этот метод используется для управления элементом в нашем документе.

JavaScript Learning

26 Oct, 17:27


#вопросы_с_собеседований
В чем разница между явным и неявным преобразованием или приведением к типу (Implicit and Explicit Coercion)?

Неявное преобразование — это способ приведения значения к другому типу без нашего ведома (участия).

Предположим, у нас есть следующее:
console.log(1 + '6')
console.log(false + true)
console.log(6 * '2')

Результатом первого console.log будет 16. В других языках это привело бы к ошибке, но в JS 1 конвертируется в строку и конкатенируется (присоединяется) к 6. Мы ничего не делали, преобразование произошло автоматически.

Результатом второго console.log будет 1. False было преобразовано в 0, true — в 1. 0 + 1 = 1.

Результатом третьего console.log будет 12. Строка 2 была преобразована в число перед умножением на 6.

Явное преобразование предполагает наше участие в приведении значения к другому типу:
console.log(1 + parseInt('6'))

В этом примере мы используем parseInt для приведения строки 6 к числу, затем складываем два числа и получаем 7.

JavaScript Learning

23 Oct, 17:28


#Вопросы_с_собеседования

Как объединить строки?
Как повторить строку несколько раз?

Ответ на картинке.

JavaScript Learning

23 Oct, 15:07


🦾 Ты круто кодишь на JavaScript? Всегда есть куда расти.

Пришло время освоить TypeScript и выйти на новый уровень!

Приходи повышать грейд на хардовый курс «Практический курс по TypeScript» от OTUS.

Что ты получишь на курсе:

✔️ Актуальные теоретические знания TypeScript;
✔️ Практика на реальных кейсах написанию кода;
✔️ Понимание как Typescript работает с различными фреймворками;
✔️ Изучение преимуществ и особенностей работы Typescript на back/front сторонах.

🗓 6 ноября в 20:00 мск., пройдет бесплатный открытый урок курса, тема «Создание мощных GraphQL серверов с TypeScript и NestJS».

🔗 Ссылка на регистрацию: https://clck.ru/3E9PSd

Будет интересно!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

JavaScript Learning

23 Oct, 09:15


#вопросы_с_собеседований
Объясните стрелочные функции.

Стрелочная функция – это краткий способ записи функциональных выражений.

Стрелочные функции не являются конструкторами, не поддерживают ключевые слова this, arguments, super и new.target и записываются так, как показано на картинке.

JavaScript Learning

22 Oct, 18:13


Как валидировать JSON в javascript?

Функция JSON.parse() принимает строку и преобразует её в объект JSON, и при получении невалидного JSON она генерирует исключение Uncaught SyntaxError: Unexpected string in JSON.

JavaScript Learning

22 Oct, 14:56


Как создать свой Telegram-бот и начать зарабатывать уже сегодня?

Научим делать самые полезные и прибыльные боты на нашем бесплатном онлайн-практикуме и расскажем про то, как обучиться профессии промт-инженера с доходом 500.000 руб.

По итогам эфира вы узнаете:
— Как написать код для создания ботов;
— Кто такой промт-инженер и чем он занимается;
— Кому в действительности нужны его услуги и сколько за это платят;
— Кто может стать промт-инженером и какой порог входа;

Кликай на ссылку и забирай подробную информацию вместе с классными бонусами.

erid: LjN8K1kow
ООО Зерокодер, ИНН 9715401631

JavaScript Learning

22 Oct, 08:39


Отключение действия, выполняемого по щелчку правой кнопки мыши

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

И собственно вот этот простейший приём позволяет отключить на странице функционал правой кнопки мыши.

<body oncontextmenu="return false">
<div></div>
</body>

JavaScript Learning

21 Oct, 17:44


Animated Star Rating

Каждая звезда — это радио кнопка, при нажатии на которую задействуются свои CSS-стили.

https://codepen.io/jkantner/pen/BarvVNa

JavaScript Learning

21 Oct, 14:56


Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

👩‍💻 Frontend: @FrontendPortal
⚙️ Backend: @BackendPortal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Python: @PythonPortal
👩‍💻 Java: @Java_Iibrary
👩‍💻 C#: @KodBlog
👩‍💻 С/С++: @Cpportal
🖥 Базы Данных & SQL: @SQL
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять

JavaScript Learning

21 Oct, 09:16


Profile Card UI — Карточка профиля, написанная с помощью SCSS и JavaScript.

https://codepen.io/team/jotform/pen/XWmqoMp

JavaScript Learning

18 Oct, 08:41


Узнаем время выполнения кода

Чтобы измерить время в микросекундах (не миллисекундах) надо воспользоваться стандартной функцией performance.now(). Она возвращает вещественное число (время от начала выполнения процесса) в милисекундах, а дробная часть есть соответсвенно микросекунды.

JavaScript Learning

17 Oct, 18:48


#Вопросы_с_собеседования

🔍 Почему результатом сравнения двух похожих объектов является false?

В JS объекты и примитивы сравниваются по-разному. Примитивы сравниваются по значению. Объекты — по ссылке или адресу в памяти, где хранится переменная. Вот почему первый console.log возвращает false, а второй — true. Переменные «a» и «c» ссылаются на один объект, а переменные «a» и «b» — на разные объекты с одинаковыми свойствами и значениями.

JavaScript Learning

17 Oct, 16:19


👩‍💻 Хотите повысить свои навыки разработки с помощью TypeScript?

«Практический курс по TypeScript» от OTUS — это не только актуальная теоретическая база, но и практика на реальных кейсах.
Под руководством опытных экспертов вы изучите, как TypeScript взаимодействует с разными фреймворками, и научитесь использовать его преимущества на всех уровнях разработки.

🦾 Повышайте эффективность и надежность вашего кода! Выполненный проект по реальному кейсу усилит ваше портфолио и выделит вас среди других специалистов.

Начните обучение прямо сейчас и станьте востребованным TypeScript-разработчиком.

🔗 Подробнее о курсе: https://clck.ru/3Dzwim

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

JavaScript Learning

17 Oct, 06:55


#Вопросы_с_собеседования

Как проверить, является ли значение массивом?

Для этого следует использовать метод Array.isArray.

JavaScript Learning

14 Oct, 15:08


Steam inspired game card hover effect

Эффект блика в стиле Steam при наведении на игровую карточку, реализованный на чистом CSS.

https://codepen.io/andrewhawkes/pen/RwwOJrO

JavaScript Learning

12 Oct, 17:23


🎙️5 способов создания DOM-элементов из HTML-строк методами JavaScript

Рассказываем о пяти методах, которые помогут вам гибко и безопасно добавлять динамический контент на страницы, используя ванильный JavaScript.

Смотреть статью

JavaScript Learning

10 Oct, 18:20


Interactive 3D die

Вращение трехмерных игральных костей согласно вводу пользователя, реализованное на чистом CSS.

https://codepen.io/HunorMarton/pen/mdERrLy

JavaScript Learning

10 Oct, 15:34


Хотите освоить прогрессивный фреймворк для создания веб-приложений на JS?

➡️Ждем вас на открытом вебинаре 23 октября в 20:00 мск, где мы разберем:

✔️архитектурные принципы Nest.Js, включая внедрение зависимостей и модульность;
✔️как создавать маршруты, контроллеры и использовать middleware;
✔️как работать с базами данных, включая MongoDB, PostgreSQL и MySQL;
✔️методы тестирования и отладки приложений Nest.Js.

Спикер Николай Лапшин — опытный архитектор, тимлид, преподаватель и разработчик с широким технологическим стеком.

Встречаемся в преддверии старта курса «Node.js Developer». Все участники вебинара получат специальную цену на обучение!
➡️Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://clck.ru/3DqXn8

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

JavaScript Learning

10 Oct, 12:34


Animated feedback form

Анимированная форма обратной связи, реализованная с помощью CSS, jQuery и TweenMax.js.

https://codepen.io/izmaelmag/pen/NqyEKx

JavaScript Learning

09 Oct, 18:17


JavaScript. Что будет выведено в консоль?

Ответ: 4. Потому что массивы – это объекты. Обе переменные, shoppingCart и fruits, являются ссылками на один и тот же массив.

JavaScript Learning

09 Oct, 10:56


Бесплатный фоновый ремувер заднего фона, работающий в вашем браузере на базе WebGPU (с использованием transformer.js)

И да, он с открытым исходным кодом, так что вы можете развернуть свой собственный экземпляр в любом месте. https://github.com/ducan-ne/remove-bg

JavaScript Learning

07 Oct, 07:25


#вопросы_с_собеседований
В чем смысл указания use strict в начале JS-файла?

Данная команда включает строгий режим, где предупреждения становятся ошибками, что помогает писать более чистый и безопасный код.

JavaScript Learning

04 Oct, 14:34


#вопросы_с_собеседований
В чем разница между атрибутами и свойствами?

Атрибут — термин из HTML, а свойство — из JS. Атрибут — значение в HTML-разметке, а свойство принадлежит объекту JavaScript.

JavaScript Learning

03 Oct, 12:13


JavaScript. Напишите функцию order, которая принимает строку и возвращает её вариант, очищенный от цифр, вшитых в каждое слово, и отсортированный на основе этих цифр.

Ответ

JavaScript Learning

03 Oct, 06:07


SCSS Washing machine

Стиральная машинка на HTML и SCSS.

https://codepen.io/Arkellys/pen/YoYNve

JavaScript Learning

02 Oct, 11:28


Задача

Дан массив целых чисел arr и целое число K. Необходимо найти количество непрерывных подмассивов, сумма элементов которых равна числу K.

Условие: необходимо написать алгоритм с линейной сложностью по времени (т.е. O(N), где N - количество элементов исходного массива).

Входные данные: arr - массив целых чисел, размер массива от 1 до 10^4. Элементы массива - целые числа в диапазоне [-1000, 1000], K - целое число в диапазоне [-10^5, 10^5].

Выходные данные: количество непрерывных подмассивов.

Ответ

JavaScript Learning

01 Oct, 07:10


#вопросы_с_собеседований
В чем разница между методами call и apply?

Отличие между call и apply состоит в том, как мы передаем аргументы в вызываемой функции. В apply аргументы передаются в виде массива, в call — через запятую.

JavaScript Learning

30 Sep, 17:36


Как добавить в строку пробелы или другие символы?

padStart
добавляет в начало строки символы, пока она не достигнет длины, заданной первым параметром. Вторым параметром можно указать любой символ. padEnd работает аналогично, добавляя символы в конец.