L’opérateur binaire XOR en JS (^)

Voici une petite astuce que j’ai découvert il y a peu en travaillant sur une application utilisant principalement JavaScript. C’est l’opérateur binaire ^ ou XOR pour les intimes.
L’astuce est de l’utiliser quand on doit switcher souvent entre 0 et 1, puisque cet opérateur permet d’effectuer un changement sur chaque bit d’un nombre.

Je ne vais pas m’attarder sur cet partie, si vous voulez en savoir plus en profondeur, vous pouvez aller voir l’article sur Wikipédia

Dans mon code, le but était à chaque itération d’une boucle, ou d’un évenement de switcher entre 0 et 1.

Le code par défaut pour faire ceci aurait été :

JS

var toogle = 0;
document.addEventListener('click', function(){
    if(toogle){
        toogle = 0;
    }else{
        toogle = 1;
    }
}

// ensuite on utilise la variable.
});

Mais ici cette astuce va permettre de raccourcir le code.

JS

var toogle = 0;

document.addEventListener('click', function(){
    // switch entre 0 et 1
    toogle ^= 1;

// ensuite on utilise la variable.
});

Cela utilise la même syntaxe qu’une incrémentation.
Cependant, je vous conseille de ne l’utiliser que sur 0 et 1, car si on utilise cette opérateur sur différents nombres, cela ne fera pas un switch entre un nombre et un nombre, et cela peut donner des résultats inattendus.

Le défaut pourrait être que si quelqu’un lit votre code, il ne sera peut être pas au courant de la signification de ce code,
alors pourquoi ne pas rajouter un petit commentaire pour indiquer à quoi cela corresponds ?


Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *