This getCookie function code is from https://www.w3schools.com/js/js_cookies.asp
function getCookie(cname) {
  var name = cname + "=";
  var decodedCookie = decodeURIComponent(document.cookie);
  var ca = decodedCookie.split(';');
  for(var i = 0; i <ca.length; i++) {
    var c = ca[i];
    while (c.charAt(0) == ' ') {
      c = c.substring(1);
    }
    if (c.indexOf(name) == 0) {
      return c.substring(name.length, c.length);
    }
  }
  return "";
}
The part which I cannot understand easily is decodedCookie
var decodedCookie = decodeURIComponent(document.cookie);
I've already searched for articles about decodeURIComponent,
and It decodes the encodedURIComponent.
But since theres no encoded cookie, why decodeURIComponent(document.cookie) needed?
function setCookie(cname, cvalue, exdays) {
  var d = new Date();
  d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  var expires = "expires="+ d.toUTCString();
  document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
This is the code of setcookie function from w3schools, and they didnt set the cookie withencodeURIComponent`.
So... why?
I need some detailed explanation! Thanks!
 
     
    