· reduce() – применяет функцию-аккумулятор к каждому элементу массива, сводя его к единственному значению. Этот метод может выполняться на массиве для вычисления суммы, подсчета количества элементов, объединения элементов и многого другого.
const numbers = [1, 2, 3, 4];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
// sum: 10
в данном примере 0 – это начальное значение аккумулятора.
18. Что такое Promise в JavaScript? Какие преимущества они предоставляют при работе с асинхронным кодом?
Promise – это объект, который представляет результат успешного выполнения или ошибку асинхронной операции. Они позволяют работать с асинхронным кодом, управлять последовательностью операций и обрабатывать результаты этих операций.
19. Что такое async и await в JavaScript? Как они упрощают написание асинхронного кода?
Ключевые слова async и await помогают упростить асинхронное программирование. Когда функция объявляется с ключевым словом async, она всегда возвращает Promise. await используется внутри async функций для приостановки выполнения кода до тех пор, пока Promise не завершится, и затем возвратит результат этого Promise. Это позволяет писать асинхронный код в более линейном стиле, без использования цепочек колбэков или методов обработки Promise.
Например:
function fetchData() {
return newPromise(resolve => {
setTimeout(() => {
resolve('Данные с сервера');
}, 2000);
});
}
async function getData() {
try {
const result = await fetchData();
console.log(result); // Выведет: 'Данные с сервера'
} catch (error) {
console.error('Ошибка:', error);
}
}
getData();
Эти два ключевых слова помогают улучшить читаемость и структуру асинхронного кода, делая его более понятным и легким для работы.
20. Какие методы объекта Math существуют в JavaScript? Приведите примеры их использования?
Math в JavaScript предоставляет различные методы для выполнения математических операций:
Math.random() – возвращает псевдослучайное число от 0 (включительно) до 1 (не включительно);
const randomNum = Math.random();
console.log(randomNum); // Выведет случайное число между 0 и 1
Math.floor() – округляет число вниз до ближайшего целого числа;
const num = 4.9;
const roundedDown = Math.floor(num);
console.log(roundedDown); // Выведет: 4
Math.ceil() – округляет число вверх до ближайшего целого числа:
const num = 4.1;
const roundedUp = Math.ceil(num);
console.log(roundedUp); // Выведет: 5
Math.abs() – возвращает абсолютное значение числа:
const num = -10;
const absoluteValue = Math.abs(num);
console.log(absoluteValue); // Выведет: 10
Math.max() и Math.min() – возвращают максимальное и минимальное значение из набора чисел соответственно:
const maxNum = Math.max(10, 5, 8);
Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера: