213 votes

Opérateurs ternaires en JavaScript sans "autre"

J'ai toujours dû mettre null dans les autres conditions qui n'ont rien. Il y a un moyen de contourner ça ?

Par exemple,

condition ? x = true : null;

Fondamentalement, y a-t-il un moyen de faire ce qui suit ?

condition ? x = true;

Maintenant, il apparaît comme une erreur de syntaxe.

Pour info, voici quelques exemples de code :

!defaults.slideshowWidth ? defaults.slideshowWidth = obj.find('img').width()+'px' : null;

29voto

In silico Points 30778

Non, il a besoin de trois opérandes. C'est pour ça qu'on les appelle opérateurs ternaires.

Cependant, pour ce que vous avez comme exemple, vous pouvez faire ceci :

if(condition) x = true;

Bien qu'il soit plus sûr d'avoir des orthèses si vous avez besoin d'ajouter plus d'une déclaration à l'avenir :

if(condition) { x = true; }

Modifier : Maintenant que vous mentionnez le code réel dans lequel votre question s'applique à :

if(!defaults.slideshowWidth)
    { defaults.slideshowWidth = obj.find('img').width()+'px'; }

13voto

philfreo Points 12382
var x = condition || null;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X