Фишки JavaScript
9 subscribers
Различные фишки и особенности JavaScript
Download Telegram
Channel created
Разделитель разрядов

Задам один вопрос: что будет выведено в консоль при использовании выражения?
console.log(1_000 + 2_500)


Может ли произойти конкатенация и на экран выведется 1_0002_500? Или же будет ошибка? На самом деле результатом будет число 3500. Почему? Потому что символ "_" в данном случае является разделителем для улучшения читаемости кода. Например, запись "один миллион" в виде 1_000_000 гораздо удобнее и понятнее, чем без подчеркиваний: 1000000
1👏1
Оператор Запятая

Есть простая задача: что будет выведено в консоль после выполнения данного кода?
console.log((2,5 - 2) * 2);


Правильный ответ - 6. Но почему?

Здесь важно понять, что запятая между числами не обозначает число 2,5 (два с половиной), а просто разделяет операнды. Запятая выполняет операции слева направо и возвращает значение последнего операнда, в данном случае - число 5. Таким образом, после выполнения оператора Запятая, выражение примет следующий вид:
console.log((5 - 2) * 2);
🔥2😱1
Эффективный способ быстрой очистки массива, сохраняя при этом ссылку

Какой самый эффективный способ очистить массив мы знаем? Обычно мы делаем это, присваивая массиву пустой массив [], но при этом меняется ссылка на массив. Но что, если нам нужно сохранить эту ссылку без изменений?

У нас есть массив с данными:
const array = [1, 2, 6, 12];


Чтобы очистить массив, мы можем просто установить его длину в 0:
array.length = 0; //[]


Теперь массив пустой, но ссылка на него остается неизменной.

Таким же способом можно заполнять массивы пустыми данными:
const array = [1, 2];
array.length = 4; //[1, 2, , ]
👀2👍1
Spread оператор для объединения массивов:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combinedArray = [...arr1, ...arr2];
console.log(combinedArray); // [1, 2, 3, 4, 5, 6]
👍1🔥1
Стрелочные функции:
const add = (a, b) => a + b;

console.log(add(2, 3)); // 5
console.log(add(12, 15)); // 27
console.log(add('abc', 'def')); // 'abcdef'
👏1👨‍💻1
Использование метода map для преобразования элементов массива:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(num => num * 2);
console.log(doubledNumbers); // [2, 4, 6]
👍1
Использование метода filter для фильтрации элементов массива:
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(num => num % 2 === 0); // отбрасываем все нечётные значения
console.log(evenNumbers); // [2, 4]
🤨1
Проверка наличия элемента в массиве с помощью includes:
const numbers = [1, 2, 3, 4, 5];
console.log(numbers.includes(3)); // true

console.log(numbers.includes(8)); // false