Je remets ce post dans la bonne catégorie
Bonjour à tous
Je constate que je dois être un des derniers dinosaures à ne pas utiliser let et const.
Même si je comprends l'intérêt de ces distinctions, je n'y avais personnellement pas trouvé d'intérêt pour ce que je fais : modifier les milliers de lignes de code qui tournent depuis 20 ans est plutôt un risque d'introduire des erreurs. Par ailleurs dans les premiers temps il n'était pas certain que les navigateurs de l'époque aient tous été en mesure de traiter ces concepts.
Je me souviens en effet qu'il y a quelques années un égyptologue néo-zélandais avait sonné l'alarme après une mise à jour du site pour une fonction qui ne fonctionnait pas sous IE.
Je me suis pourtant dit que pour un autre site que je gère et qui n'a que quelques dizaines d'utilisateurs je pourrais essayer de suivre la tendance actuelle.
Je viens donc de commencer à faire des modifications dans mon code en introduisant let et const.
En première approximation, remplacer tous les var par des let, puis regarder au cas par cas si c'est bien approprié.
Je tombe sur le code suivant
A priori ça devrait fonctionner, mais je me pose une question : pourquoi pas plutôt
parts est un array, c'est à dire un objet.
Cet objet n'est pas redéfini dans la suite du code, même si le code a pour but de "nourrir" cette variable en y ajoutant des éléments.
Par acquis de conscience je regarde les forums et je trouve des discussions où des gens parlent du sujet. C'est une véritable foire d'empoigne entre ceux qui défendent mon point de vue et ceux qui au nom d'une pureté doctrinale qui m'échappe disent qu'il ne faut pas faire de push sur une variable const.
Votre opinion m'intéresse.
Par ailleurs si vous connaissez une façon moins stupide de créer un cookie ça m'intéresse aussi, le code doit avoir au moins 20 ans...
Modifié par PapyJP (27 Jun 2022 - 11:11)
Bonjour à tous
Je constate que je dois être un des derniers dinosaures à ne pas utiliser let et const.
Même si je comprends l'intérêt de ces distinctions, je n'y avais personnellement pas trouvé d'intérêt pour ce que je fais : modifier les milliers de lignes de code qui tournent depuis 20 ans est plutôt un risque d'introduire des erreurs. Par ailleurs dans les premiers temps il n'était pas certain que les navigateurs de l'époque aient tous été en mesure de traiter ces concepts.
Je me souviens en effet qu'il y a quelques années un égyptologue néo-zélandais avait sonné l'alarme après une mise à jour du site pour une fonction qui ne fonctionnait pas sous IE.
Je me suis pourtant dit que pour un autre site que je gère et qui n'a que quelques dizaines d'utilisateurs je pourrais essayer de suivre la tendance actuelle.
Je viens donc de commencer à faire des modifications dans mon code en introduisant let et const.
En première approximation, remplacer tous les var par des let, puis regarder au cas par cas si c'est bien approprié.
Je tombe sur le code suivant
function createCookie(name, value, duration) {
if(!name) return;
let parts = [name + '=' + (value ? value : '')];
if(duration) {
let expDate = new Date();
expDate.setTime(expDate.getTime() + parseInt(duration) * 24 * 3600 * 1000);
parts.push('expires=' + expDate.toGMTString());
}
parts.push('path=/');
parts.push('sameSite=Strict');
parts.push('secure=TRUE');
document.cookie = parts.join('; ');
}
A priori ça devrait fonctionner, mais je me pose une question : pourquoi pas plutôt
const parts = [name + '=' + (value ? value : '')];
parts est un array, c'est à dire un objet.
Cet objet n'est pas redéfini dans la suite du code, même si le code a pour but de "nourrir" cette variable en y ajoutant des éléments.
Par acquis de conscience je regarde les forums et je trouve des discussions où des gens parlent du sujet. C'est une véritable foire d'empoigne entre ceux qui défendent mon point de vue et ceux qui au nom d'une pureté doctrinale qui m'échappe disent qu'il ne faut pas faire de push sur une variable const.
Votre opinion m'intéresse.
Par ailleurs si vous connaissez une façon moins stupide de créer un cookie ça m'intéresse aussi, le code doit avoir au moins 20 ans...
Modifié par PapyJP (27 Jun 2022 - 11:11)