Confondu par abréviation syntaxe: x > 0 ? 1 : -1;
Quel est le code Javascript suivant la syntaxe veux dire? Veuillez décrire l'ensemble de la syntaxe:
var x = 0;
x > 0 ? 1 : -1; //confused about this line
alert(x);
C'est le [opérateur ternaire][1] (le lien il explique) [1]: stackoverflow.com/questions/1788917/javascript-ternary-operator
Il ne fait rien...
Le nom officiel est l'opérateur conditionnel. Un opérateur ternaire est juste une avec trois opérandes.
thnx 4 modifier Andrew 😉
+1 pour compenser la mauvaise humeur drive-by downvoter
Il ne fait rien...
Le nom officiel est l'opérateur conditionnel. Un opérateur ternaire est juste une avec trois opérandes.
thnx 4 modifier Andrew 😉
+1 pour compenser la mauvaise humeur drive-by downvoter
OriginalL'auteur osami | 2012-05-12
Vous devez vous connecter pour publier un commentaire.
Que sur son propre ne signifie rien. Vous alerterons
x
's, la valeur est 0, et c'est tout. La deuxième affirmation est dénuée de sens, sauf si vous l'attribuer à quelque chose. Toutefois, si vous avez fait ceci:Vous aurait obtenu -1.
L'Opérateur Conditionnel, est un raccourci pour SI les déclarations, il dit en gros:
Ou sur un plan plus général forme:
Où:
CONDITION
- peut être quelque chose qui correspond à une valeur booléenne (même après le type de jonglerie).VALUE_IF_TRUE
- valeur renvoyée en casCONDITION
a été affirméeTRUE
.VALUE_IF_FALSE
- valeur renvoyée en casCONDITION
a été affirméeFALSE
.y=
tests en lignex>0
. Si c'est vrai,y
est affectée1
, si c'est faux alorsy
est affectée-1
.thnx vérité qui a été très utile
Vous avez raison. Il est appelé ternaire en PHP.
Si ma réponse a résolu votre problème, veuillez envisager d'accepter. Il peut être fait en cliquant sur la coche verte en vertu de la présente réponse du décompte des voix.
Il est temps que j'ai touché le lit.
OriginalL'auteur Madara Uchiha
Qui est le opérateur conditionnel. C'est un opérateur ternaire parce qu'il a trois opérandes. Elle est souvent désignée comme l'opérateur ternaire, mais que la terminologie est plutôt lâche car tout opérateur à trois opérandes est un opérateur ternaire. Il se trouve que est est la seule couramment utilisés opérateur ternaire.
Ça veut dire quoi? L'expression
évalue à
b
sia
évaluée comme true, sinon l'expression est évaluée àc
.OriginalL'auteur David Heffernan
c'est un opérateur ternaire (le ?)
Pensez-y comme à une instruction if.
la déclaration avant le"? " est la condition de votre instruction if. Immédiatement ce qui suit avant le": "est ce qui va exécuter/être attribuée si l'énoncé est vrai. Après le": "est ce qui va exécuter/être attribuée si l'énoncé est faux.
Votre code sera cependant juste d'alerte 0 parce que vous n'êtes pas assigner quelque chose à partir de votre opérateur ternaire.
fondamentalement votre code pourrait tout aussi bien dire.
x = 0;
alert(x);
//this would alert 0
vous avez besoin de réviser la présente à:
x = 0;
var y = x > 0 ? 1 : -1;
alert(y);
OriginalL'auteur Robbie Ferrero
Il sera -1. Ceci est connu comme la opérateur ternaire.
Fondamentalement, il se développe pour cela (en supposant que vous pour mettre
x=
au début de la deuxième ligne).en effet, je suppose que c'est ce qu'il voulait dire (mise à jour de la réponse)
+1 pour compenser la mauvaise humeur drive-by downvoter
OriginalL'auteur CambridgeMike