WeakMap
— это коллекция для хранения пар ключ-значение, где ключами могут быть только объекты. В отличие от Map, WeakMap
позволяет сборщику мусора удалять записи, если на объект-ключ нет других ссылок.let obj = { name: 'Alice' };
const weakMap = new WeakMap();
weakMap.set(obj, 'Дополнительные данные');
console.log(weakMap.get(obj)); // 'Дополнительные данные'
obj = null; // Ключ становится недоступен, запись удаляется из WeakMap
WeakMap
хранит дополнительные данные для объекта obj. После обнуления ссылки obj
запись автоматически удаляется, освобождая память.CodeBase | Frontend | #js
Please open Telegram to view this post
VIEW IN TELEGRAM
filter()
в JavaScript и как он используется?filter()
— это метод массивов в JavaScript, который создаёт новый массив, содержащий только те элементы, которые удовлетворяют условию, заданному в функции обратного вызова.const numbers = [1, 2, 3, 4, 5, 6];
// Оставляем только чётные числа
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6]
filter()
возвращает новый массив, содержащий только чётные числа. Это полезно для фильтрации данных на основе определённых условий.CodeBase | Frontend | #js
Please open Telegram to view this post
VIEW IN TELEGRAM
reduce()
в JavaScript и как он используется?reduce()
— это метод массивов в JavaScript, который выполняет функцию-аккумулятор, последовательно обрабатывая каждый элемент массива и возвращая одно итоговое значение.const numbers = [1, 2, 3, 4, 5];
// Сумма всех чисел в массиве
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 15
reduce()
суммирует все числа массива, начиная с начального значения 0
. Это полезно для вычислений, таких как сумма, произведение или объединение данных.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
reduceRight()
в JavaScript и как он используется?reduceRight()
— это метод массивов в JavaScript, который работает аналогично reduce
, но выполняет операцию справа налево.const numbers = [1, 2, 3, 4];
// Сложение чисел с обходом справа налево
const sum = numbers.reduceRight((acc, num) => acc + num, 0);
console.log(sum); // 10
reduceRight
суммирует элементы массива, начиная с последнего. Это полезно, когда порядок обработки элементов имеет значение.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
some()
в JavaScript и как он используется?some()
— это метод массивов в JavaScript, который проверяет, удовлетворяет ли хотя бы один элемент массива заданному условию. Он возвращает true
, если хотя бы один элемент прошёл проверку, иначе false
.const numbers = [1, 3, 5, 8];
// Проверяем, есть ли чётные числа
const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // true
some()
возвращает true
, так как в массиве есть число 8
, которое является чётным. Это полезно для проверки условий без необходимости проходить весь массив.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
every()
в JavaScript и как он используется?every()
— это метод массивов в JavaScript, который проверяет, удовлетворяют ли все элементы массива заданному условию. Он возвращает true
, если все элементы проходят проверку, иначе false
.const numbers = [2, 4, 6, 8];
// Проверяем, все ли числа чётные
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // true
every()
возвращает true
, так как все числа в массиве чётные. Этот метод полезен, когда требуется убедиться, что все элементы массива соответствуют определённым критериям.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
find()
в JavaScript и как он используется?find()
— это метод массивов в JavaScript, который возвращает первый элемент, удовлетворяющий заданному условию. Если ни один элемент не подходит, возвращается undefined
.const numbers = [3, 7, 10, 15];
// Ищем первое число больше 5
const result = numbers.find(num => num > 5);
console.log(result); // 7
find()
находит и возвращает 7
, так как это первое число, удовлетворяющее условию. Этот метод удобен, если нужен только первый подходящий элемент, а не все соответствующие значения.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
includes()
в JavaScript и как он используется?includes()
— это метод массивов и строк в JavaScript, который проверяет, содержит ли массив или строка определённое значение. Он возвращает true
, если элемент найден, и false
, если нет.const numbers = [1, 3, 5, 7];
// Проверяем, есть ли число 5 в массиве
console.log(numbers.includes(5)); // true
const text = "Привет, мир!";
console.log(text.includes("мир")); // true
includes()
проверяет наличие элемента в массиве и подстроки в строке. Этот метод полезен для быстрой проверки наличия значений без необходимости писать циклы.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
startsWith()
в JavaScript и как он используется?startsWith()
— это метод строк в JavaScript, который проверяет, начинается ли строка с указанного символа или подстроки. Он возвращает true
, если строка начинается с переданного значения, и false
, если нет.const text = "JavaScript — крутой язык!";
// Проверяем, начинается ли строка с "Java"
console.log(text.startsWith("Java")); // true
// Проверяем с учетом позиции
console.log(text.startsWith("крутой", 13)); // true
•
startsWith("Java")
проверяет, начинается ли строка с "Java"
.•
startsWith("крутой", 13)
проверяет подстроку с 13-го символа.• Этот метод удобен для валидации данных, обработки URL и фильтрации текстовых данных.
CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
endsWith()
в JavaScript и как он используется?endsWith()
— это метод строк в JavaScript, который проверяет, заканчивается ли строка на указанную подстроку. Он возвращает true
, если строка заканчивается переданным значением, и false
, если нет.const text = "frontend — это круто!";
// Проверяем, заканчивается ли строка на "круто!"
console.log(text.endsWith("круто!")); // true
// Проверяем с ограничением по длине
console.log(text.endsWith("frontend", 8)); // true
•
endsWith("круто!")
проверяет, заканчивается ли строка на "круто!"
.•
endsWith("frontend", 8)
проверяет первые 8 символов строки.• Этот метод полезен для проверки расширений файлов, валидации URL и обработки текстов.
CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
padStart()
в JavaScript и как он используется?padStart()
— это метод строк в JavaScript, который дополняет строку до нужной длины, добавляя заданные символы в начало. Он удобен для форматирования чисел, дат и других данных.const num = "7";
// Дополняем до двух символов нулями
console.log(num.padStart(2, "0")); // "07"
// Выравнивание текста
console.log("JS".padStart(5, "-")); // "--JS"
•
padStart(2, "0")
превращает "7"
в "07"
, полезно для форматирования чисел.•
padStart(5, "-")
добавляет символы до нужной длины.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
trim()
в JavaScript и как он используется?trim()
— это метод строк в JavaScript, который удаляет пробелы и скрытые символы (переводы строк, табуляции) в начале и конце строки. Это полезно при обработке пользовательского ввода и очистке данных.const text = " Привет, мир! ";
console.log(text.trim()); // "Привет, мир!"
console.log(text.trimStart()); // "Привет, мир! "
console.log(text.trimEnd()); // " Привет, мир!"
•
trim()
удаляет пробелы с обеих сторон строки.•
trimStart()
— удаляет только в начале, trimEnd()
— только в конце.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
repeat()
в JavaScript и как он используется?repeat()
— это метод строк в JavaScript, который позволяет повторить строку указанное количество раз. Он полезен для форматирования вывода, создания шаблонов и генерации текстовых данных.const text = "JS ";
// Повторяем строку 3 раза
console.log(text.repeat(3)); // "JS JS JS"
// Создаём разделитель
console.log("-".repeat(10)); // "----------"
•
repeat(3)
повторяет строку три раза, объединяя их в одну строку.•
repeat(10)
создаёт разделитель из 10 символов -.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
slice()
в JavaScript и как он используется?slice()
— это метод массивов и строк в JavaScript, который возвращает копию части массива или строки без изменения оригинала. Он полезен для обрезки, копирования и извлечения подмножеств данных.const arr = [10, 20, 30, 40, 50];
console.log(arr.slice(1, 4)); // [20, 30, 40]
const str = "JavaScript";
console.log(str.slice(0, 4)); // "Java"
•
slice(1, 4)
возвращает элементы с индексом 1 по 3 включительно (4 не включается).•
slice(0, 4)
возвращает первые 4 символа строки.• Метод не мутирует оригинальные данные, что делает его безопасным при работе с копиями.
CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
CodeBase | Frontend | #js #animate
Please open Telegram to view this post
VIEW IN TELEGRAM
splice()
в JavaScript и как он используется?splice()
— это метод массивов в JavaScript, который изменяет оригинальный массив, удаляя, добавляя или заменяя элементы. Он полезен для управления содержимым массива на месте.const numbers = [1, 2, 3, 4, 5];
// Удаляем 2 элемента, начиная с индекса 1
numbers.splice(1, 2);
console.log(numbers); // [1, 4, 5]
// Вставляем новые элементы на индекс 1
numbers.splice(1, 0, 99, 100);
console.log(numbers); // [1, 99, 100, 4, 5]
•
splice(1, 2)
удаляет два элемента начиная с индекса 1.•
splice(1, 0, 99, 100)
вставляет два элемента без удаления.• Метод изменяет исходный массив, в отличие от
slice()
.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
filter()
в JavaScript и как он используется?filter()
— это метод массивов в JavaScript, который создаёт новый массив, содержащий только те элементы, которые прошли проверку в переданной функции. Исходный массив не изменяется.const numbers = [1, 2, 3, 4, 5];
// Оставляем только чётные числа
const evens = numbers.filter(num => num % 2 === 0);
console.log(evens); // [2, 4]
•
filter()
проверяет каждый элемент на условие• Возвращает новый массив только с подходящими элементами
• Полезен для фильтрации данных на основе критериев.
filter()
часто используется при работе со списками в интерфейсахCodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
map()
— это метод массивов в JavaScript, который создаёт новый массив, преобразуя каждый элемент исходного массива по заданной функции.Исходный массив не изменяется.
const numbers = [1, 2, 3, 4, 5];
// Умножаем каждый элемент на 2
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8, 10]
•
map()
применяет функцию ко всем элементам массива• Возвращает новый массив с результатами
• Идеален для преобразования данных (например, умножение, форматирование).
CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
forEach()
в JavaScript и как он используется?forEach()
— это метод массивов в JavaScript, который выполняет заданную функцию для каждого элемента массива.Он не возвращает новый массив и чаще используется для побочных эффектов (логов, вызовов функций и т.д.).
const users = ["Анна", "Борис", "Вера"];
users.forEach((user, index) => {
console.log(`${index + 1}. Привет, ${user}!`);
});
1. Привет, Анна!
2. Привет, Борис!
3. Привет, Вера!
•
forEach()
перебирает массив• Удобен для вывода в консоль, вызова функций, работы с DOM
• Не изменяет оригинальный массив и не возвращает новый
CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
map()
в JavaScript и как он используется?map()
— это метод массивов в JavaScript, который создаёт новый массив, применяя функцию к каждому элементу исходного. Он не изменяет оригинальный массив.const numbers = [1, 2, 3, 4];
// Умножаем каждый элемент на 2
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]
•
map()
применяет функцию ко всем элементам массива• Возвращается новый массив с результатами
• Часто используется для форматирования данных перед выводом.
map()
— основа функционального подхода в работе с массивамиCodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM