JS
Статьи о JavaScript — инструкции, советы, полезные руководства.

Интерфейсы и типы TypeScript: в чём разница
Помимо базовых типов, TypeScript предоставляет разработчикам операторы для определения интерфейсов (interface) и псевдонимов для типов (type). В актуальных версиях TypeScript эти операторы во многих случаях взаимозаменяемы. Может сложиться впечатление, что кроме написания никаких различий между ними нет. На самом деле это не так. Разберёмся на примерах.
- 14 апреля 2023

XSS-уязвимости и как их избежать
Аббревиатура XSS расшифровывается как Cross-Site Scripting (межсайтовый скриптинг). Если особо не погружаться в детали, смысл атаки заключается во внедрении вредоносного кода в страницу. Атака не затрагивает серверную часть, но напрямую влияет на клиентскую — на пользователей уязвимого сервиса.
А какой код можно внедрить в страницу? У страницы же нет доступа к базе данных или другому серверному компоненту, где можно получить данные пользователей. Речь идёт о зловредном JavaScript-коде.
Вам хорошо известно: для выполнения JavaScript-кода на странице (в контексте фронтенда) необходимо разместить его между тегами <script></script>. Про этот способ мы рассказывали в первой главе учебника. Атака XSS в этом и заключается. Злоумышленник внедряет в страницу зловредный JavaScript-код. Пользователь переходит на эту страницу, код выполняется и конфиденциальные данные пользователя отправляются злоумышленнику.
- 7 апреля 2023

3 способа валидации форм
Валидация формы — это проверка данных, которые ввёл пользователь. Если на вашем сайте есть форма без валидации, пользователи будут заполнять её как захотят. Кто-то пропустит важное поле, кто-то неправильно введёт телефон или номер банковской карты. В результате обрабатывать такие данные станет сложнее, да и небезопасно.
- 4 апреля 2023

Операторы spread и rest в React
Если вы работали с ванильным JavaScript или React, то могли видеть в коде три точки — .... Так обозначаются операторы spread и rest. Они используют одинаковый синтаксис, но решают разные задачи.
- 31 марта 2023

Авторизация и аутентификация: в чём разница
Авторизацию и аутентификацию легко спутать, но это разные вещи. Их нужно различать и понимать, как использовать, чтобы обезопасить свои данные или данные пользователей.
👉 Аутентификация — это проверка, что вы действительно тот человек, за которого себя выдаёте.
Вот простой пример из жизни: представьте, что вам написал друг и попросил занять денег до понедельника. Чтобы убедиться, что это не мошенник, вы проводите аутентификацию — звоните приятелю. И если ваш друг подтвердит, что это ему нужны деньги, он пройдёт проверку.
👉 Авторизация — это получение права доступа к чему-то. Например, ваш друг получит доступ к деньгам и потратит их.
- 21 марта 2023

Обзор редакторов кода для фронтендеров
Самые популярные редакторы кода — Visual Studio Code, Sublime Text, Atom и WebStorm. Они ускоряют разработку и помогают быстро находить ошибки, работать с Git и получать удовольствие от процесса.
У каждого редактора есть обязательные функции, без которых сложно представить работу с кодом. Давайте поговорим о них.
- 6 марта 2023

Как работать с Vue 3 Router
☝ Предполагается, что к моменту прочтения этой статьи вы уже знаете, как создавать простое Vue-приложение. Также предполагается, что приложение открывается по адресу localhost:8080.
- 28 февраля 2023

Типы данных в TypeScript: Руководство для начинающих
TypeScript — это JavaScript с типами, что логично. А вот и они, слева направо:
- 16 февраля 2023

Простой пример анимации контуров в SVG
SVG-графика поддаётся анимированию. В этой статье мы покажем, как анимировать отрисовку контуров.
Сначала мы разберём свойства SVG-анимации и синтаксис библиотеки Anime.js, а затем анимируем отрисовку котов. Если вы уже знакомы с теорией, можете сразу перейти к практике.
Для анимации нам понадобятся:
- элемент
path— контур; - атрибуты обводки:
strokeиstroke-dashoffset; - библиотека Anime.js.
- 31 января 2023

Зачем нужен CSS-in-JS
CSS-in-JS — новый подход к стилизации компонентных веб-приложений. Он помогает преодолеть ряд ограничений и проблем традиционных методов работы с CSS.
Посмотрим, какие проблемы есть в традиционном CSS, и как CSS-in-JS их решает.
- 20 ноября 2022