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
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
SetInterval — функция, которая позволяет выполнять код с заданным интервалом времени. Она принимает два аргумента: функцию, которая будет выполняться, и интервал времени в миллисекундах между вызовами. Функция будет вызываться бесконечно, пока не будет остановлена с помощью clearInterval.


let counter = 0;
const intervalId = setInterval(() => {
counter++;
console.log(`Counter: ${counter}`);
if (counter >= 5) {
clearInterval(intervalId); // Остановка интервала
}
}, 1000);


В этом примере код внутри setInterval выполняется каждую секунду. Когда значение counter достигает 5, интервал останавливается с помощью clearInterval. Это полезно для задач, требующих периодического выполнения, таких как обновление данных или анимации.

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

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

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

Глобальная область видимости — переменные, объявленные вне функций или блоков, доступны везде в коде. Функциональная область видимости — переменные, объявленные внутри функции, доступны только в её пределах. Блочная область видимости появилась с let и const — переменные, объявленные внутри блока {}, доступны только в этом блоке.


const globalVar = "I'm global"; // Глобальная область видимости

function example() {
const functionVar = "I'm in function"; // Функциональная область видимости
if (true) {
const blockVar = "I'm in block"; // Блочная область видимости
}
console.log(blockVar); // Ошибка: blockVar не определена
}


Использование var создаёт переменные с функциональной областью видимости, а let и const — с блочной. Это важно учитывать для предотвращения ошибок и утечек переменных.

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
Оператор in проверяет наличие свойства в объекте или его цепочке прототипов. Если свойство существует, возвращается true, иначе — false.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
▶️Строгое сравнение в JavaScript выполняется с использованием операторов === и !==. Оно проверяет как значения, так и типы данных. Если типы или значения не совпадают, результат будет false.


5 === '5'; // false, так как разные типы (number и string)
5 === 5; // true, одинаковые значения и типы


В отличие от нестрогого сравнения (== и !=), которое может приводить типы данных для сравнения, строгое сравнение исключает неявные преобразования, что делает его более предсказуемым и безопасным.

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

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
📝 Метод pop используется для удаления и возврата последнего элемента массива. Если массив пуст, возвращается undefined. Также можно указать индекс элемента для удаления.


const fruits = ['apple', 'banana', 'cherry'];

// Удаление последнего элемента
const lastFruit = fruits.pop();
console.log(lastFruit); // 'cherry'
console.log(fruits); // ['apple', 'banana']

// Удаление элемента по индексу
const firstFruit = fruits.pop(0); // Не работает, pop удаляет только последний элемент


Метод изменяет исходный массив и возвращает удаленный элемент. Для удаления элементов по индексу лучше использовать splice.

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🤔1
👉 Для проверки, является ли значение null или undefined, можно использовать строгое сравнение (===) или оператор логического И (&&).

let value = null;

// Проверка через строгое сравнение
if (value === null || value === undefined) {
console.log('Value is null or undefined');
}


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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71👀1
Комментарии в коде используются для пояснения логики или отключения части кода. В JS однострочные комментарии начинаются с //, а многострочные — с /* и заканчиваются */.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🟠Для проверки поддержки браузером определенной функции используется проверка существования этой функции в объекте window или другом соответствующем объекте.


if (typeof window.localStorage !== 'undefined') {
console.log('localStorage is supported');
} else {
console.log('localStorage is not supported');
}


Если функция или API доступны, условие выполнится. Это позволяет писать код с учетом совместимости с разными браузерами.

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

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

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