JavaScript: Что такое javascript:void(0)?

javascript:void(0) — это синтаксическая конструкция, которую традиционно использовали в атрибуте href HTML‑ссылок для предотвращения перехода по умолчанию.

Пример:
<a href="javascript:void(0)" onclick="doSomething()">Кликни меня</a>

При клике браузер выполняет JavaScript‑код, но void(0) возвращает undefined, что принудительно отменяет навигацию (переход на другую страницу).

Как это работает на практике


  1. Браузер видит href="javascript:..." и интерпретирует содержимое как JS‑код.
  2. void(0) вычисляется в undefined.
  3. Поскольку возвращаемое значение не является валидным URL, переход блокируется.

Почему этот подход считается устаревшим


Несмотря на работоспособность, javascript:void(0) имеет критические недостатки:

Проблемы с доступностью (a11y)
  • Скринридеры озвучивают javascript:void(0) как текст ссылки, создавая путаницу.
  • Клавиатурная навигация (Tab) работает некорректно.
  • Нарушается принцип семантической разметки.

SEO‑риски
  • Поисковые роботы игнорируют ссылки с javascript:.
  • Может расцениватьс
...

JavaScript: Как получить URL текущей страницы

На JavaScript можно легко получить полный адрес текущей страницы с помощью объекта window.location.

Объекты и свойства, которые помогут получить полный URL


  • window.location.href: возвращает полный URL текущей страницы.
  • window.location.protocol: возвращает протокол (например, http: или https:).
  • window.location.host: возвращает хост (например, example.com или sub.example.com).
  • window.location.pathname: возвращает путь (например, /folder/file.html).
  • window.location.search: возвращает строку запроса (например, ?param=value).
  • window.location.hash: возвращает фрагмент (часть после символа #).

Пример использования


console.log(window.location.href); // Полный URL страницы
console.log(window.location.protocol); // Протокол (например, http:, https:)
console.log(window.location.host); // Домен (например, example.com)
console.log(window.location.pathname); // Путь (например, /folder/file.html)
console.log(window.location.search); // Строка запроса (например,
...

JavaScript: Функция filter()

Функция filter() позволяет отобрать элементы массива, которые соответствуют заданному условию. Это удобный способ фильтрации данных, особенно когда нужно получить подмножество элементов массива, удовлетворяющих определенному критерию.

Что делает функция filter()?


Функция filter() принимает один обязательный аргумент — функцию, которая определяет, следует ли включить элемент в новый массив. Она возвращает новый массив, содержащий только те элементы, которые удовлетворяют условию.

Синтаксис:
ВыделитьСинтаксис: filter()
let filteredArray = arr.filter(callback(currentValue[, index[, array]])[, thisArg])

Параметры:
  • arr: Исходный массив.
  • callback: Функция, которая определяет, включать ли элемент в новый массив.
  • currentValue: Текущий элемент массива.
  • index: Индекс текущего элемента.
  • array: Весь исходный массив.
  • thisArg: Необязательный параметр, указывающий значение this внутри функции.

Возвращаемое значение:
  • Новый массив, содержащий только те элементы, которые удовлетворяют условию.

Пример использова

...

JavaScript: Функция map()

Функция map() создаёт новый массив, применяя указанную функцию к каждому элементу исходного массива. Она не изменяет исходный массив, а возвращает новый массив с результатами.

Синтаксис:
const newArray = array.map(function(currentValue, index, array) {
    // Возвращаемое значение будет элементом нового массива
});

Параметры:
  • currentValue: Текущий обрабатываемый элемент массива.
  • index: Индекс текущего обрабатываемого элемента.
  • array: Исходный массив, к которому применяется функция map().

Пример использования


const numbers = [1, 2, 3, 4, 5];

const doubledNumbers = numbers.map(function(num) {
    return num * 2;
});

console.log(doubledNumbers); // Вывод: [2, 4, 6, 8, 10]

Объяснение:
  1. Исходный массив: numbers = [1, 2, 3, 4, 5].
  2. Функция: function(num) { return num * 2; } — удваивает каждый элемент массива.
  3. Новый массив: doubledNumbers = [2, 4, 6, 8, 10].

Дополнительные примеры



Преобразование строк в верхний регистр:
const names =
...

JavaScript: Set и Map

ES6 (EcmaScript 2015) принес в JavaScript две новые коллекции: Set и Map. Они значительно упрощают работу с данными и предлагают удобное решение для множества задач.

Что такое Set и Map?


  • Set — это коллекция уникальных значений. В Set каждый элемент уникален, что позволяет легко удалять дубликаты и проверять наличие элементов.
  • Map — это коллекция пар "ключ-значение", где ключи могут быть любого типа (в отличие от объектов, где ключи — только строки или символы).

Примеры использования Set и Map



Использование Set
const set = new Set([1, 2, 3, 4, 4, 5]);
console.log(set); // Set { 1, 2, 3, 4, 5 }

set.delete(3);
console.log(set); // Set { 1, 2, 4, 5 }

set.forEach(value => console.log(value));

Использование Map
const map = new Map();
map.set("name", "John");
map.set("age", 30);

console.log(map.get("name")); // John
console.log(map.size); // 2

map.forEach((value, key) => console.log(key, value));

Set и Map — это мощные инструменты для работы с данными в JavaScript....