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
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
🔥 AJAX (Asynchronous JavaScript and XML) — это технология, позволяющая отправлять и получать данные с сервера без перезагрузки страницы. Основной инструмент для выполнения асинхронных запросов — объект XMLHttpRequest или современный метод fetch.

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

fetch('https://api.example.com/data')
.then(response => response.json()) // Преобразуем ответ в JSON
.then(data => console.log(data)) // Работаем с данными
.catch(error => console.error('Ошибка:', error)); // Обрабатываем ошибки


fetch возвращает промис, что позволяет удобно работать с асинхронными операциями. Для более сложных запросов можно передавать дополнительные параметры, такие как метод, заголовки или тело запроса.

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

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

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

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


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

function example() {
const localVar = 'local'; // Функциональная область видимости
if (true) {
const blockVar = 'block'; // Блочная область видимости
}
}


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

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
null — это явно присвоенное значение, обозначающее отсутствие какого-либо объекта или значения. undefined означает, что переменная была объявлена, но ей не было присвоено значение, или свойство объекта не существует.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
▶️ Модули ES6 позволяют организовывать код в отдельные файлы, которые можно импортировать и экспортировать.


// export.js
export const value = 42;
export function greet() { return 'Hello'; }


Для экспорта используются ключевые слова export или export default.


// import.js
import { value, greet } from './export.js';
console.log(value); // 42
console.log(greet()); // Hello


Импорт выполняется с помощью import. Модули поддерживают статический анализ, что позволяет оптимизировать загрузку и устранять неиспользуемый код. Модули всегда работают в строгом режиме (use strict).

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

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