JS

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

Интерфейсы и типы TypeScript: в чём разница

Интерфейсы и типы TypeScript: в чём разница

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

Читать дальше
JS
  • 14 апреля 2023
XSS-уязвимости и как их избежать

XSS-уязвимости и как их избежать

Аббревиатура XSS расшифровывается как Cross-Site Scripting (межсайтовый скриптинг). Если особо не погружаться в детали, смысл атаки заключается во внедрении вредоносного кода в страницу. Атака не затрагивает серверную часть, но напрямую влияет на клиентскую — на пользователей уязвимого сервиса.

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

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

Читать дальше
JS
  • 7 апреля 2023
3 способа валидации форм

3 способа валидации форм

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

Читать дальше
JS
  • 4 апреля 2023
Операторы spread и rest в React

Операторы spread и rest в React

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

Читать дальше
JS
  • 31 марта 2023
Авторизация и аутентификация: в чём разница

Авторизация и аутентификация: в чём разница

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

👉 Аутентификация — это проверка, что вы действительно тот человек, за которого себя выдаёте.

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

👉 Авторизация — это получение права доступа к чему-то. Например, ваш друг получит доступ к деньгам и потратит их.

Читать дальше
JS
  • 21 марта 2023
Обзор редакторов кода для фронтендеров

Обзор редакторов кода для фронтендеров

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

У каждого редактора есть обязательные функции, без которых сложно представить работу с кодом. Давайте поговорим о них.

Читать дальше
JS
  • 6 марта 2023
Как работать с Vue 3 Router

Как работать с Vue 3 Router

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

Читать дальше
JS
  • 28 февраля 2023
Простой пример анимации контуров в SVG

Простой пример анимации контуров в SVG

SVG-графика поддаётся анимированию. В этой статье мы покажем, как анимировать отрисовку контуров.

Сначала мы разберём свойства SVG-анимации и синтаксис библиотеки Anime.js, а затем анимируем отрисовку котов. Если вы уже знакомы с теорией, можете сразу перейти к практике.

Для анимации нам понадобятся:

  • элемент path — контур;
  • атрибуты обводки: stroke и stroke-dashoffset;
  • библиотека Anime.js.
Читать дальше
JS
  • 31 января 2023
Зачем нужен CSS-in-JS

Зачем нужен CSS-in-JS

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

Посмотрим, какие проблемы есть в традиционном CSS, и как CSS-in-JS их решает.

Читать дальше
JS
  • 20 ноября 2022