JS собеседования
534 subscribers
108 photos
108 links
Подготовка к собеседованиям по JavaScript

Еще больше разобранных вопросов на сайте https://frontview-it.ru

Frontend собеседования - @frontview_it
Frontend работа - @frontview_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
Оператор побитового И (&) выполняет логическую операцию И над соответствующими битами двух чисел, возвращая 1 только если оба бита равны 1. Оператор побитового ИЛИ (|) выполняет логическую операцию ИЛИ, возвращая 1, если хотя бы один из соответствующих битов равен 1.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
➡️ CORS (Cross-Origin Resource Sharing) — это механизм безопасности, который позволяет ограничивать доступ веб-страниц к ресурсам на других доменах. Он предотвращает выполнение потенциально опасных запросов с одного домена на другой, если это не разрешено сервером.

➡️ Когда браузер делает запрос на другой домен, сервер должен отправить заголовок Access-Control-Allow-Origin, чтобы указать, какие домены могут получить доступ к ресурсам. Например:

Access-Control-Allow-Origin: https://example.com


Если заголовок отсутствует или домен не совпадает, браузер блокирует запрос.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Babel — это инструмент для трансформации современного JavaScript кода в более старые версии, чтобы обеспечить его совместимость с различными браузерами. Он используется для того, чтобы можно было использовать новейшие возможности языка, не беспокоясь о поддержке в устаревших браузерах.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72
В HTML атрибуты async и defer управляют загрузкой и выполнением скриптов, чтобы оптимизировать производительность страницы.

1⃣ async загружает скрипт асинхронно с HTML. Скрипт выполняется сразу после загрузки, что может прервать парсинг HTML. Подходит для независимых скриптов.

2⃣ defer также загружает скрипт асинхронно, но выполняет его после полного парсинга HTML. Это гарантирует, что DOM полностью загружен перед выполнением скрипта. Подходит для скриптов, зависящих от DOM.

<script src="script.js" async></script>
<script src="script.js" defer></script>


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
Event Bubbling и Event Capturing — это фазы распространения событий в DOM.

Event Bubbling: событие сначала обрабатывается на самом вложенном элементе, затем поднимается вверх по дереву DOM к родительским элементам. Это поведение по умолчанию.

element.addEventListener('click', function() {
// Обработчик события для всплытия
}, false); // false указывает на фазу всплытия


Event Capturing: событие обрабатывается сверху вниз, начиная с корневого элемента и заканчивая целевым.

element.addEventListener('click', function() {
// Обработчик события для захвата
}, true); // true указывает на фазу захвата


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Строгий режим ('use strict') — это способ включения более строгих правил синтаксиса, который помогает избежать распространённых ошибок, таких как использование необъявленных переменных. Он улучшает производительность кода и делает его более безопасным, отключая некоторые устаревшие функции и предотвращая использование небезопасных конструкций.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81🔥1
💡alert — это встроенная функция JavaScript, используемая для отображения модального окна с сообщением. Она приостанавливает выполнение скрипта до тех пор, пока пользователь не закроет окно.

Пример использования:


alert("Hello, World!"); // Отображает модальное окно с сообщением "Hello, World!"


➡️ Окно alert содержит только текст сообщения и кнопку "OK". Оно полезно для простых уведомлений, но не подходит для сложных взаимодействий с пользователем, так как не позволяет получить ввод данных.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤩2
Цикл while выполняет блок кода до тех пор, пока заданное условие истинно. Он проверяет условие перед каждой итерацией, что позволяет контролировать количество выполнений цикла.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
🔥 Контекст this определяется способом вызова функции. В глобальной области видимости this ссылается на глобальный объект (в браузере это window). В методах объекта this указывает на сам объект.

В стрелочных функциях this наследуется из внешней функции, в которой они определены. В конструкторах this указывает на новый экземпляр объекта.


const obj = {
name: "Alice",
greet() {
console.log(`Hello, ${this.name}`);
}
};

obj.greet(); // Выведет: Hello, Alice


Использование call, apply или bind позволяет явно задавать контекст this.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Для проверки, является ли объект экземпляром определённого класса, используется оператор instanceof. Этот оператор возвращает true, если объект принадлежит указанному классу или его прототипной цепочке.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🤔1
Spread-оператор позволяет разворачивать элементы массива или свойства объекта. Он упрощает работу с массивами и объектами, делая код более читаемым и лаконичным.

1️⃣Для массивов spread используется для копирования или объединения:

const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5]; // Копирование и добавление элементов


2️⃣ Для объектов spread помогает объединять или клонировать объекты:

const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1, c: 3 }; // Копирование и добавление свойств


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101🤔1👀1
Интернационализация (i18n) — это процесс подготовки веб-приложения к поддержке различных языков и региональных настроек, включая адаптацию форматов даты, времени и чисел. Локализация (l10n) — это адаптация уже интернационализированного приложения для конкретного языка или региона, включая перевод текста и настройку культурных особенностей.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
➡️ Объект в JavaScript — это коллекция свойств, где каждое свойство состоит из ключа и значения. Объекты используются для хранения данных и функциональности.


// Создание объекта
const person = {
name: 'Alice',
age: 30
};

// Добавление нового свойства
person.job = 'Engineer';

// Альтернативный способ добавления свойства
person['city'] = 'Moscow';


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
Параметры по умолчанию в функции позволяют задавать значения, которые будут использоваться, если аргументы не переданы или равны undefined. Это упрощает код, устраняя необходимость проверять наличие значений и присваивать их вручную внутри функции.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🟠 Math.random() возвращает псевдослучайное число с плавающей точкой в диапазоне от 0 (включительно) до 1 (исключительно). Это полезно для генерации случайных чисел в различных сценариях, например, для игр или тестирования.

Чтобы получить случайное число в определенном диапазоне, можно умножить результат на нужное значение и округлить. Например, для получения случайного целого числа от 1 до 10:


const randomNumber = Math.floor(Math.random() * 10) + 1; // Генерация случайного числа от 1 до 10


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
null представляет собой специальное значение, которое указывает на отсутствие какого-либо объекта или значение "ничего". Оно часто используется для явного указания на то, что переменная должна быть пустой или не иметь значения.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
➡️ Шаблонные литералы — это строковые литералы, заключенные в обратные кавычки, которые позволяют встраивать выражения и многострочные строки. Они поддерживают интерполяцию с помощью синтаксиса ${expression}, что упрощает создание динамических строк.


const name = "Alice";
const greeting = `Hello, ${name}!`; // Интерполяция переменной в строку


Шаблонные литералы делают код более читаемым и удобным для работы с динамическими данными.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥2
Оператор typeof возвращает строку, указывающую тип переданного значения. Он полезен для проверки типов переменных и может возвращать такие значения, как "string", "number", "boolean", "object", "function", "undefined" и "symbol".

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
🟥 Для парсинга JSON используется встроенный метод JSON.parse(). Этот метод принимает строку в формате JSON и преобразует ее в JavaScript-объект. Важно, чтобы строка была корректно сформирована, иначе может возникнуть ошибка.

Для работы с JSON также можно использовать JSON.stringify(), чтобы преобразовать объект обратно в строку JSON.


const jsonString = '{"name": "Alice", "age": 25}'; // JSON-строка

try {
const user = JSON.parse(jsonString); // Парсинг строки в объект
console.log(user.name); // Доступ к свойству "name"
console.log(user.age); // Доступ к свойству "age"
} catch (error) {
// Обработка ошибки при парсинге
console.error("Ошибка в парсинге JSON:", error);
}


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
Доступ к элементу массива по индексу осуществляется через указание имени массива и индекса в квадратных скобках. Индексация начинается с нуля, то есть первый элемент массива имеет индекс 0.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71