Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Атрибут
В этом примере
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
srcset используется для указания нескольких версий изображения с разным разрешением, чтобы браузер мог выбрать наиболее подходящее в зависимости от размера экрана и плотности пикселей.<img src="image-default.jpg"
srcset="image-small.jpg 480w, image-medium.jpg 800w, image-large.jpg 1200w"
sizes="(max-width: 600px) 480px, (max-width: 900px) 800px, 1200px"
alt="Example image">
В этом примере
srcset содержит три версии изображения с указанием их ширины в пикселях. Атрибут sizes определяет, какое изображение использовать в зависимости от ширины экрана. Это улучшает производительность и адаптивность веб-страниц.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
useContext — это хук для доступа к данным контекста без пропсдриллинга. Создание контекста:
const MyContext = createContext(defaultValue);
Обертывание компонентов провайдером:
<MyContext.Provider value={someValue}>
<ChildComponent />
</MyContext.Provider>Использование в компоненте:
const value = useContext(MyContext);
Хук подписывает компонент на изменения контекста и вызывает ререндер при обновлении значения. Работает только с контекстом, созданным через
createContext. Позволяет избежать передачи данных через промежуточные компоненты.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
git show HEAD # Просмотр текущего коммита
HEAD хранится в
.git/HEAD и может ссылаться на другой указатель (например, ref: refs/heads/main) или хэш коммита.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Рендеринг массивов в React выполняется с помощью метода
Использование
Для условного рендеринга можно комбинировать
Если массив пуст, можно вывести fallback-контент.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
map(), который преобразует каждый элемент массива в JSX-элемент. Каждый элемент должен иметь уникальный key для оптимизации процесса обновления DOM.
const items = ['Apple', 'Banana', 'Orange'];
const listItems = items.map((item, index) => (
<li key={index}>{item}</li>
));
Использование
index в качестве key допустимо, но не рекомендуется для динамически изменяемых списков. Лучше применять уникальные идентификаторы из данных. Для условного рендеринга можно комбинировать
map() с проверками:
{items.length > 0 && items.map(item => (
<div key={item.id}>{item.name}</div>
))}
Если массив пуст, можно вывести fallback-контент.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Объект
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
arguments — это псевдомассив, доступный внутри обычных (не стрелочных) функций. Он содержит все переданные аргументы, даже если они не объявлены в параметрах.
function sum() {
let total = 0;
for (let i = 0; i < arguments.length; i++) {
total += arguments[i];
}
return total;
}
arguments не является настоящим массивом, поэтому методы типа map или forEach недоступны без преобразования. В современных проектах вместо arguments чаще используют rest-параметры (...args).Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Свойство
По умолчанию значение
Первый параметр — горизонтальное смещение, второй — вертикальное. Отрицательные значения допустимы. Если указано одно значение, второе считается
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
object-position определяет выравнивание содержимого внутри заменяемого элемента, такого как <img> или <video>, относительно его контейнера. Работает совместно с object-fit. По умолчанию значение
object-position: 50% 50% центрирует содержимое. Можно задать смещение в пикселях или процентах:
img {
object-fit: cover;
object-position: 20px 10%;
}
Первый параметр — горизонтальное смещение, второй — вертикальное. Отрицательные значения допустимы. Если указано одно значение, второе считается
50%.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Рефы (refs) в React позволяют получать прямой доступ к DOM-элементам или React-компонентам, обходя механизм реактивности. Используются для управления фокусом, анимациями, интеграции со сторонними библиотеками.
Создаются через
После монтирования
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Frontend собеседования
Создаются через
useRef (в функциональных компонентах) или createRef (в классовых). Реф присваивается элементу через атрибут ref:
const inputRef = useRef(null);
<input ref={inputRef} />
После монтирования
inputRef.current будет содержать DOM-узел. Изменения рефа не вызывают ререндер компонента.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Чтобы проверить чётность числа, можно использовать оператор остатка от деления
Для отрицательных чисел результат также будет корректным. Альтернативный способ — проверка младшего бита:
Оба метода работают с целыми числами. Первый вариант более читаем, второй — быстрее.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ 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