Чистый код Короткие заметки веб-разработчика

Работа с cookie на чистом JavaScript

Регулярно приходится хранить какие-либо данные в cookie. Ставить огромные библиотеки лениво, некоторые из них даже (!!!) требуют jQuery. Но работать из ванильного JS намного проще и быстрее.

Вот сама библиотека, которую я написал специально для этой статьи. Идея простая — сделать так, чтобы можно было работать с cookie без долгих установок. В моей библиотеке содержится всего три простые функции, которые можно скопировать в свой код и не задумываться о том, как это работает.

Пример создания cookie со сроком годности 7 дней

const cookies = new Cookies(); //Создаём инстнс класса

const date = new Date();
date.setDate(date.getDate() + 7); //Задаём дату, когда куки протухнут

cookies.set('name', 'value', {expires: date}); //Устанавливаем куки

Всё просто. Более того, от последнего аругмента функции можно отказаться, куки автоматически установятся на 30 дней. Исправить значение по-умолчанию вы можете в коде класса. Я пометил, где именно. Если указать дату в прошлом — то куки будут удалены. Эта же функция обновляет значение.

Чтение куки так же очень просто реализовано

cookies.get('name');

Функция вернёт значение или undefined, если значение не задано.

Ну и удаление куков

cookies.delete('name');

Обратите внимание, что библиотека использует стандарт ES6 с классами. Не все старые браузеры такое поддерживают, но все современные работают отлично.