JavaScript

Como pegar um cookie pelo nome em JavaScript

14 de março de 2022

Como pegar um cookie pelo nome em JavaScript

Neste artigo você vai aprender a como pegar um cookie pelo nome em JavaScript, ou seja, obter o valor de um cookie pelo nome definido.

pegar um cookie pelo nome capa

Fala programador(a), beleza? Bora aprender mais sobre cookies e JavaScript!

Para pegar um cookie pelo nome precisamos fazer uma varredura em todos os cookies existentes

Os cookies podem ter resgatados pelo document.cookie, porém isso nos retorna uma string com todos eles

A partir desta string vamos criar um array com split, pois o separador deles é comum

Desta maneira faremos um loop e encontraremos o cookie que precisamos

Como temos diversas instruções para executar, o melhor é criar uma função para isso

Veja o código final:

function getCookie(name) {

  let cookie = {};
  
  document.cookie.split(';').forEach(function(el) {
    let [k,v] = el.split('=');
    cookie[k.trim()] = v;
  })
  
  return cookie[name];
  
}

const myCookie = getCookie("somecookie")

Veja que criamos a função getCookie e ela leva um nome de um cookie como argumento

Na última linha estamos executando a função, passando como um argumento um possível nome de um cookie

Receberemos nesta variável o valor do cookie que estamos buscando

Conclusão

No artigo de hoje você aprendeu a como pegar um cookie pelo nome em JavaScript

Criamos uma função que faz um varredura em todos os cookies

Que no fim nos retorna o valor do cookie que estamos buscando, baseado no nome que passamos para a nossa função como argumento

Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias! Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!

Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias. O link acima contém um cupom de desconto para os cursos!

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x