Traduire une ligne de code

Résolu
Signaler
Messages postés
106
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
11 juin 2012
-
Messages postés
106
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
11 juin 2012
-
Bonjour et merci de lire ce message
j'ai besoin de votre aide pour me traduire une ligne de code que je comprend pas.

Lors du chargement d'un xml, on récupère une variable avec ça :

Statics.itemAreaWidth (settingsXML.settings[0].itemArea.@width undefined) ? 400 : settingsXML.settings[0].itemArea.@width;

settingsXML.settings[0].itemArea.@width je comprend bien mais je comprend pas l'expression :

variable ( donnée_du_XML undefined ) ? 400 : donnée_du_XML;
c'est pour remplacer un if, un or ???

Merci pour votre aide

3 réponses


(settingsXML.settings[0].itemArea.@width == undefined) ? 400 : settingsXML.settings[0].itemArea.@width;



if(settingsXML.settings[0].itemArea.@width == undefined)
{
variable = 400;
}
else
{
variable = settingsXML.settings[0].itemArea.@width;
}

voili voilou.

Romain
Messages postés
6146
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
10
Bonjour, pour compléter l'info : il s'agit d'une condition ternaire.

variable = (condition) ? si vrai : sinon;


Celà remplace effectivement un if et mise à part un principe d'écriture, ça n'ajoute rien à une ligne de code d'un "if" classique.

Petit bonus :

Lors de la présence d'une seule ligne dans une instruction quelle qu'elle soit, il est possible d'omettre les accolades :

if (condition)
ligne à executer;


Peg'
Messages postés
106
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
11 juin 2012

Merci à vous deux pour ces éclaircissements.
Ca fait quand même classe une condition ternaire sans if ni accolades !

Merci et à bientôt