Question javascript

Résolu/Fermé
Coucourde2000 Messages postés 4 Date d'inscription mardi 29 décembre 2015 Statut Membre Dernière intervention 12 janvier 2016 - 11 janv. 2016 à 18:35
Coucourde2000 Messages postés 4 Date d'inscription mardi 29 décembre 2015 Statut Membre Dernière intervention 12 janvier 2016 - 12 janv. 2016 à 09:36
Je n'y connait rien en javascript. Que veut dire :

currentHeadingSlideID = currentHeadingSlideID == 1 ? 2 : 1;

Merci!!

1 réponse

math 2000 Messages postés 2605 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
Modifié par math 2000 le 11/01/2016 à 22:12
Bonjour,
Ce n'est pas que du js mais dans la plupart des langages, c'est l'operateur ternaire.

en premier une conition booleen ? en second la valeur à effecter si booleeen vrai en 3 après le : valeur à affecté sinon

c'est une syntaxe très puissante pour du code compact.l'équivalent de ton code est
if(currentHeadingSlideID == 1){
currentHeadingSlideID = 2
}else{
currentHeadingSlideID = 1
}


Une autre sorte d'affectation que tu risques de voir en js est avec l'opérateur ou ||.
var a = a || 5;


qui affecte "a" à 5 si il est faux(undefined null ou 0 ou false ou ''), cela marche car en js les || retoune le premier élément vrai ou le dernier faux si il y a pas de vrai.

De même l'opérateur && peut être un raccourcis pour faire des if.
ex: a && maFonction();
n'executera ma fonction que si a est vrai(tu peux te passer totalementde if else grace au opérateur ET et OU et c'est d'ailleur ce que fait le compresseur google closure.
bonne chance à toi dans le monde du js.
1
Coucourde2000 Messages postés 4 Date d'inscription mardi 29 décembre 2015 Statut Membre Dernière intervention 12 janvier 2016
12 janv. 2016 à 09:36
Merci !!
0