Чтобы проверить чётность числа, можно использовать оператор остатка от деления
Для отрицательных чисел результат также будет корректным. Альтернативный способ — проверка младшего бита:
Оба метода работают с целыми числами. Первый вариант более читаем, второй — быстрее.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
%. Если число делится на 2 без остатка — оно чётное.
function isEven(num) {
return num % 2 === 0;
}
Для отрицательных чисел результат также будет корректным. Альтернативный способ — проверка младшего бита:
const isEven = (num) => (num & 1) === 0;
Оба метода работают с целыми числами. Первый вариант более читаем, второй — быстрее.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
В Git REMOTE — это ссылка на удалённый репозиторий, обычно расположенный на GitHub, GitLab или другом сервере. Позволяет синхронизировать локальные изменения с удалённой версией проекта.
Основные команды для работы с remote:
Имя
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
Основные команды для работы с remote:
git remote add origin <url> # Добавляет удалённый репозиторий
git remote -v # Показывает список удалённых репозиториев
git push origin main # Отправляет изменения в удалённую ветку
git fetch origin # Загружает изменения без слияния
git pull origin main # Забирает изменения и сливает с текущей веткой
Имя
origin используется по умолчанию, но может быть изменено.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
SyntheticEvent в React — это кросс-браузерная обёртка над нативными DOM-событиями, обеспечивающая единое API для всех браузеров.
События автоматически делегируются через пулинг, что улучшает производительность. Свойства SyntheticEvent включают
После обработки события все свойства SyntheticEvent обнуляются для оптимизации памяти, поэтому асинхронный доступ к ним требует вызова
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
function handleClick(e) {
e.preventDefault(); // Работает во всех браузерах
console.log(e.type); // 'click'
}
События автоматически делегируются через пулинг, что улучшает производительность. Свойства SyntheticEvent включают
target, currentTarget, stopPropagation() и другие. После обработки события все свойства SyntheticEvent обнуляются для оптимизации памяти, поэтому асинхронный доступ к ним требует вызова
e.persist().Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
ReadonlyArray — это специальный тип в TypeScript, представляющий иммутабельный (неизменяемый) массив. В отличие от обычного массива, он запрещает модифицирующие операции:
Доступны только методы для чтения (map, filter, slice). Преобразовать в обычный массив можно через
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
const arr: ReadonlyArray<number> = [1, 2, 3];
arr.push(4); // Ошибка: Property 'push' does not exist
Доступны только методы для чтения (map, filter, slice). Преобразовать в обычный массив можно через
as Array<T> или spread-оператор ([...arr]). Используется для защиты данных от случайных изменений.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
Метод split() разбивает строку на массив подстрок по указанному разделителю.
Если разделитель пустой (''), строка разбивается на отдельные символы. Необязательный второй аргумент ограничивает длину результирующего массива.
Если разделитель не найден, возвращается массив с исходной строкой.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
const str = 'a,b,c';
const arr = str.split(','); // ['a', 'b', 'c']
Если разделитель пустой (''), строка разбивается на отдельные символы. Необязательный второй аргумент ограничивает длину результирующего массива.
'hello'.split('', 3); // ['h', 'e', 'l']
Если разделитель не найден, возвращается массив с исходной строкой.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
JSX транслируется в вызовы React.createElement(). Каждый JSX-элемент преобразуется в функцию, где:
Первый аргумент — тип элемента, второй — пропсы, остальные — дети. Компоненты передаются по имени
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
<div className="test">Hello</div>
// Становится:
React.createElement('div', { className: 'test' }, 'Hello');
Первый аргумент — тип элемента, второй — пропсы, остальные — дети. Компоненты передаются по имени
<Component /> → React.createElement(Component). Трансляция происходит через Babel или TypeScript до запуска кода.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Операция push в Git отправляет локальные коммиты в удалённый репозиторий.
Флаг
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
git push <remote> <branch>
- <remote> — имя удалённого репозитория (обычно origin)
- <branch> — ветка, которую нужно отправить
git push -u origin main
Флаг
-u связывает локальную ветку с удалённой для будущих push/pull без указания параметров. При конфликтах требуется предварительный pull.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Цикл for выполняет блок кода многократно, пока условие истинно. Состоит из трёх частей:
- Инициализация — задаёт начальное значение (например, let i = 0)
- Условие — проверяется перед каждой итерацией (i < 10)
- Шаг — выполняется после каждой итерации (i++)
Используется для перебора массивов, строк или повторения операций. Альтернативы —
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
for (инициализация; условие; шаг) {
// тело цикла
}
- Инициализация — задаёт начальное значение (например, let i = 0)
- Условие — проверяется перед каждой итерацией (i < 10)
- Шаг — выполняется после каждой итерации (i++)
Используется для перебора массивов, строк или повторения операций. Альтернативы —
for...of (для итерируемых объектов) и forEach (для массивов).Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
CSS-спрайты — это метод объединения нескольких изображений в один файл для уменьшения количества HTTP-запросов. Часто применяется для иконок, кнопок и других мелких элементов.
Как использовать:
1. Создать спрайт, разместив все изображения в одном файле (например, sprite.png).
2. Задать элементу фоновое изображение и позиционировать его с помощью background-position:
Преимущества: ускорение загрузки страницы, меньше запросов к серверу. Недостаток — сложность обновления при изменении спрайта.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
Как использовать:
1. Создать спрайт, разместив все изображения в одном файле (например, sprite.png).
2. Задать элементу фоновое изображение и позиционировать его с помощью background-position:
.icon {
background-image: url('sprite.png');
width: 32px;
height: 32px;
}
.icon-home {
background-position: 0 0;
}
.icon-settings {
background-position: -32px 0;
}
Преимущества: ускорение загрузки страницы, меньше запросов к серверу. Недостаток — сложность обновления при изменении спрайта.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Комментарии в HTML позволяют оставлять пояснения в коде, не влияя на отображение страницы.
Синтаксис:
Комментарии могут быть однострочными или многострочными. Они полезны для заметок, временного отключения кода или разметки структуры.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
Синтаксис:
<!-- Это комментарий, он не отображается в браузере -->
<p>Этот текст будет виден.</p>
Комментарии могут быть однострочными или многострочными. Они полезны для заметок, временного отключения кода или разметки структуры.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
visibility.
.hidden-element {
visibility: hidden;
}
Элемент остается на странице, занимает место, но становится невидимым. В отличие от
display: none, не удаляется из потока документа. Альтернативный вариант — прозрачность:
.transparent-element {
opacity: 0;
}
Сохраняет кликабельность и взаимодействие, если не отключено pointer-events.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3💯3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
git reflog для поиска последних действий и git checkout или git reset для возврата файлов.
git reflog # Поиск последнего коммита перед удалением
git checkout HEAD@{n} -- path/to/file # Восстановление файла из истории
Если файлы были проиндексированы, но не закоммичены:
git fsck --lost-found # Поиск dangling-объектов
Для восстановления после
git rm используйте git reset HEAD file перед git checkout -- file.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Свойст
При таком стиле переход по ссылке с якорем (например, <a href="#section">) будет происходить с плавной прокруткой до целевого элемента. Также это работает с методами JavaScript, т
Значение по умолчанию —
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
во scroll-behavior в CSS позволяет управлять поведением прокрутки на странице. При установке значения smooth прокрутка становится плавной, а не мгновенной. Это особенно полезно для навигации по странице с помощью якорей или JavaScript.
html {
scroll-behavior: smooth;
}
При таком стиле переход по ссылке с якорем (например, <a href="#section">) будет происходить с плавной прокруткой до целевого элемента. Также это работает с методами JavaScript, т
акими как scrollTo или scrollIntoView.
document.getElementById('section').scrollIntoView({ behavior: 'smooth' });
Значение по умолчанию —
auto, при котором прокрутка происходит мгновенно. Свойство поддерживается в современных браузерах, но для старых версий может потребоваться полифил.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Методы Vue — это функции, которые определяются в объекте
В шаблоне метод вызывается через
Методы реагируют на изменения данных и обновляют DOM через реактивную систему Vue. Они не кэшируются, в отличие от вычисляемых свойств, и выполняются каждый раз при вызове.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
methods компонента. Они используются для обработки событий, выполнения логики или изменения состояния компонента. Методы можно вызывать из шаблона через директивы (например, v-on) или из других методов.
export default {
data() {
return {
count: 0
};
},
methods: {
increment() {
this.count++;
}
}
};
В шаблоне метод вызывается через
v-on:
<button @click="increment">Увеличить счетчик</button>
Методы реагируют на изменения данных и обновляют DOM через реактивную систему Vue. Они не кэшируются, в отличие от вычисляемых свойств, и выполняются каждый раз при вызове.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3