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 — это примитивное значение, представляющее намеренное отсутствие какого-либо значения. Оно часто используется для инициализации переменной, которая позже будет содержать объект.

▶️ null отличается от undefined, который указывает на переменную, объявленную, но не инициализированную. Использование null помогает явно показать, что значение переменной будет установлено позже.

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥1
Функция setInterval вызывает заданную функцию или выполняет код через определенные промежутки времени, указанные в миллисекундах. Она продолжает выполнение до тех пор, пока не будет явно остановлена с помощью clearInterval.

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7💯1
➡️ Для получения текущей даты и времени используется объект Date. Создание нового объекта Date без аргументов возвращает текущую дату и время.


const now = new Date(); // Создание объекта Date с текущей датой и временем

console.log(now.toString()); // Выводит полную строку с датой и временем
console.log(now.toLocaleDateString()); // Выводит текущую дату в локальном формате
console.log(now.toLocaleTimeString()); // Выводит текущее время в локальном формате


➡️ Методы toLocaleDateString() и toLocaleTimeString() позволяют форматировать дату и время в соответствии с локальными настройками.

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

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
📌 Проверка наличия свойства в объекте может быть выполнена с помощью оператора in или метода hasOwnProperty().

▶️ Оператор in проверяет наличие свойства в объекте или его прототипе, тогда как hasOwnProperty() проверяет только собственные свойства объекта.

const obj = { name: 'Alice', age: 30 };

// Использование оператора in
console.log('name' in obj); // true

// Использование hasOwnProperty
console.log(obj.hasOwnProperty('age')); // true


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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
📝 Наследование в ES6-классах позволяет создавать новый класс на основе существующего, унаследовав его свойства и методы. Это достигается с помощью ключевого слова extends.


// Базовый класс Animal
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} издает звук.`);
}
}

// Класс Dog наследует Animal
class Dog extends Animal {
speak() {
console.log(`${this.name} лает.`);
}
}

const dog = new Dog('Бобик');
dog.speak(); // Бобик лает.


Метод speak в классе Dog переопределяет метод из Animal, демонстрируя полиморфизм.

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
📌 Оператор switch используется для выполнения различных действий на основе различных условий. Он сравнивает выражение с метками case и выполняет соответствующий блок кода.


const fruit = 'apple';

switch (fruit) {
case 'banana':
console.log('Banana is selected');
break;
case 'apple':
console.log('Apple is selected');
break;
case 'orange':
console.log('Orange is selected');
break;
default:
console.log('No fruit selected');
break;
}


✔️ В этом примере, если fruit равно 'apple', будет выполнен соответствующий блок кода. break предотвращает выполнение последующих блоков.

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

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

✈️ JS собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
🔘Для проверки типа переменной используется оператор 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