Привет, коллеги-разработчики! Если вы следили за JavaScript, то знаете, что ES6 (ECMAScript 2015) привнес в язык несколько фантастических новых функций и улучшений синтаксиса. Но знаете ли вы, что последующие версии ECMAScript продолжали развиваться и представили еще более мощные возможности? В этом сообщении блога мы углубимся в последние обновления ES6 и последующих версий, а также рассмотрим множество методов, которые повысят уровень вашей игры на JavaScript. Итак, начнём!
-
Array.prototype.find() и Array.prototype.findIndex():
Методfind()позволяет искать в массиве первый элемент, удовлетворяющий условиям заданное состояние. Например:const numbers = [10, 20, 30, 40, 50]; const result = numbers.find(element => element > 30); console.log(result); // Output: 40 const index = numbers.findIndex(element => element > 30); console.log(index); // Output: 3 -
Object.entries():
МетодObject.entries()возвращает массив пар ключ-значение собственных перечислимых свойств данного объекта. Вот пример:const person = { name: 'John', age: 30, profession: 'Developer' }; const entries = Object.entries(person); console.log(entries); /* Output: [ ['name', 'John'], ['age', 30], ['profession', 'Developer'] ] */ -
String.prototype.includes():
Методincludes()проверяет, содержит ли строка указанную подстроку, и возвращает логическое значение. Взгляните:const sentence = 'The quick brown fox jumps over the lazy dog.'; console.log(sentence.includes('fox')); // Output: true console.log(sentence.includes('cat')); // Output: false -
Promise.prototype.finally():
Методfinally()позволяет указать обратный вызов, который выполняется независимо от того, разрешено или отклонено обещание. Вот пример:const fetchData = () => { return new Promise((resolve, reject) => { // Simulating an asynchronous operation setTimeout(() => { const data = 'Data successfully fetched!'; resolve(data); }, 2000); }); }; fetchData() .then(result => console.log(result)) .catch(error => console.log(error)) .finally(() => console.log('Cleanup tasks executed.')); // Output: Cleanup tasks executed. -
Операторы Rest и Spread:
В ES6 представлены операторы rest и Spread, которые предоставляют мощные способы манипулирования массивами и объектами. Вот пример оператора распространения в действии:const numbers = [1, 2, 3, 4, 5]; const sum = (a, b, c, d, e) => a + b + c + d + e;
console.log(sum(…numbers)); // Вывод: 15