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

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

Frontend собеседования - @frontview_it
Frontend работа - @frontview_vacancies
Все IT вакансии - @frontview_all_vacancies
Download Telegram
🔘Для проверки типа переменной используется оператор typeof. Он возвращает строку, указывающую тип операнда.

const number = 42;
const text = "Hello, world!";
const isTrue = true;

console.log(typeof number); // "number"
console.log(typeof text); // "string"
console.log(typeof isTrue); // "boolean"


🔘Для массивов и объектов typeof возвращает "object". Для проверки массива можно использовать Array.isArray().

const array = [1, 2, 3];
console.log(typeof array); // "object"
console.log(Array.isArray(array)); // true


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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111
Метод Math.floor() округляет число вниз до ближайшего целого. Это полезно, когда требуется избавиться от дробной части числа, оставив только целую часть.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
📍 Работа с числами в JavaScript может привести к ошибкам округления из-за особенностей представления чисел с плавающей запятой. Для предотвращения таких ошибок рекомендуется использовать библиотеку Big.js или Decimal.js, которые обеспечивают точные вычисления.

Если использование библиотек невозможно, можно применять метод умножения и последующего деления для работы с целыми числами:


// Пример: сложение 0.1 и 0.2
const sum = (0.1 * 10 + 0.2 * 10) / 10; // Результат: 0.3


Этот метод уменьшает вероятность ошибок округления, но требует осторожности при сложных вычислениях.

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

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
✔️ Анонимная функция — это функция, которая не имеет имени и часто используется для кратковременных задач. Такие функции создаются с помощью ключевого слова function или стрелочных функций =>, и обычно применяются в качестве аргументов для других функций или для создания замыканий.


// Анонимная функция в качестве аргумента
setTimeout(function() {
console.log("Hello, World!");
}, 1000);


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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🔥 Цикл for...in используется для перебора всех перечисляемых свойств объекта. Он проходит по каждому ключу объекта, позволяя выполнять операции с его значениями.


// Объект с данными о пользователе
const user = {
name: "Alice",
age: 30,
city: "Moscow"
};

// Перебор свойств объекта
for (let key in user) {
console.log(key + ": " + user[key]); // Выводит каждую пару ключ-значение
}


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

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

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

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


const str = "Hello, World!";
const length = str.length; // Длина строки "Hello, World!" равна 13
console.log(length); // Выводит 13


▶️Это свойство полезно при работе с текстовыми данными, когда необходимо узнать размер строки для дальнейшей обработки или проверки условий.

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Оператор побитового И (&) выполняет логическую операцию И над соответствующими битами двух чисел, возвращая 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.

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


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

✈️ 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