Si je reçois Chrome pour me montrer document.cookie
en entrant dans la console et en tapant document.cookie;
Il me donnera, dis:
"name=John; gender=male";
Mais alors, si je tapez, par exemple, document.cookie = 5;
Tout ce qu'il fait, c'est ajouter 5;
Au début de la chaîne, alors je reçois:
"5; name=John; gender=male";
Si j'essaye document.cookie = null;
Alors il ne fait même rien.
Comment se peut-il? C'est une variable, n'est-ce pas? Alors, pourquoi l'opérateur d'affectation ne fonctionne-t-il pas comme il se doit? Est-ce seulement un peu de sucre syntaxique plutôt qu'une vraie variable? Et si oui, quel est précisément le sucre qui couvre?
document.cookie
a un comportement très spécial. Comme vous l'avez vu, l'attribuer ajoute (ou met à jour) un cookie (ou plusieurs cookies) plutôt que de remplacer tous les cookies. C'est très inhabituel.
Lire tout de qui le concerne:
Pourquoi ne pas jeter un oeil à MDN?
La chaîne sur le côté droit de l'opérateur d'affectation à document.cookies
devrait être une liste séparée par point-virgule des paires de valeurs-valeurs, c'est-à-dire que dookument.cookie = "aKey=5"
définira / mettra à jour le cookie aKey
.
Alors oui, document.cookie
montre un comportement spécial.
Voici un exemple de votre " problème ". En outre, il dit ce qui suit:
Vous pouvez supprimer un cookie en mettant à jour son temps d'expiration à zéro.