Название: 100 вопросов на собеседование по JavaScript. С подробными объяснениями
Автор: Ирина Кириченко
Издательство: Издательские решения
isbn: 9785006204843
isbn:
9) CONNECT. Используется для установки туннеля к серверу, идентифицированному по ресурсу.
Эти методы предоставляют различные способы взаимодействия с ресурсами на сервере в рамках RESTful API.
16. Что такое Callback функции в JavaScript? Как они используются при работе с асинхронным кодом?
Callback функции – это ключевой механизм в асинхронном JavaScript, который позволяет управлять асинхронными операциями и выполнением кода после завершения этих операций.
Когда мы работаем с асинхронным кодом, например, при загрузке данных с сервера или выполнении запросов, мы не можем ожидать завершения этих операций, так как это может занять время. Вместо этого, мы используем callback функции, чтобы указать, что нужно сделать после завершения определенной асинхронной операции.
Пример использования callback функции при выполнении асинхронной операции, например, загрузке данных с сервера:
function fetchData(callback) {
// Процесс загрузки данных с сервера
setTimeout(function() {
const data = 'Данные с сервера';
callback(data); // Вызываем callback функцию и передаем ей полученные данные
}, 2000); // Например, имитация задержки загрузки данных на 2 секунды
}
function displayData(data) {
console.log('Получены данные:', data);
}
fetchData(displayData); // Вызываем функцию fetchData и передаем ей displayData в качестве callback функции
В этом примере fetchData – это функция, которая имитирует загрузку данных с сервера. Она принимает callback функцию в качестве аргумента и вызывает ее, когда данные будут доступны. displayData – это callback функция, которая принимает данные и выводит их в консоль после их получения.
Такой подход позволяет продолжать выполнение кода после завершения асинхронной операции, делая асинхронный код более гибким и эффективным.
17. Чем отличаются методы массивов map (), filter () и reduce ()? Приведите примеры использования каждого из них?
Методы массивов map(), filter() и reduce() – каждый из этих методов предоставляет различные способы обработки массивов в JavaScript:
· map() – создает новый массив, содержащий результат вызова предоставленной функции для каждого элемента исходного массива. Этот метод не изменяет исходный массив, а возвращает новый массив с результатами применения функции к каждому элементу.
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
/ doubled: [2, 4, 6, 8]
· filter() – создает новый массив, содержащий только те элементы исходного массива, для которых функция возвращает true. Этот метод также не изменяет исходный массив, а возвращает новый массив с отфильтрованными элементами.
const numbers = [1, 2, 3, 4];
const evenNumbers = numbers.filter(num => num % 2 === 0);
// evenNumbers: [2, 4]
· reduce() – применяет функцию-аккумулятор к каждому элементу массива, сводя его к единственному значению. Этот метод может выполняться на массиве для вычисления суммы, подсчета СКАЧАТЬ