Est-il une alternative à l'utilisation de IF / ELSE
Question
Plus par curiosité, mais je me demandais comment faire pour refactoriser une instruction if pour quelque chose de plus propres et moins cassants. De ce que j'ai lu, polymorphisme pourrait avoir une utilisation?
Dans l'exemple que j'ai seulement envie de retourner la première voiture si color:'red'
est vrai.
Coffeescript
example: () ->
cars = [{color:'red', reg:'111'},{color:'blue', reg:'666'}]
if cars[0].color is 'red'
then cars[0]
else cars[1]
Javascript
example: function() {
var cars = [{color:'red',reg:'111'},{color:'blue',reg:'666'}];
if (cars[0].color === 'red') {
return cars[0];
} else {
return cars[1];
}
}
Je comprends cette question peut-être fermé ou déménagé en raison de la nature ambiguë
Je ne sais pas si le polymorphisme pourrait être utile ici, mais il ne ressemble voiture pourrait obtenir sa propre fonction de constructeur avec une getColor méthode de prototype.
Il est appelé "raccourci" que vous pouvez lire sur certains javascript abréviations ici jquery4u.com/javascript/shorthand-javascript-techniques : )
Il est appelé "raccourci" que vous pouvez lire sur certains javascript abréviations ici jquery4u.com/javascript/shorthand-javascript-techniques : )
OriginalL'auteur mikedidthis | 2013-10-09
Vous devez vous connecter pour publier un commentaire.
? : opérateur est exactement ça, un "nettoyeur" if-else
http://msdn.microsoft.com/en-us/library/ty67wk28.aspx
Il y a aussi des instructions de commutation pour les grandes combinaisons:
http://www.w3schools.com/js/js_switch.asp
Polymorphisme est un concept abstrait, non pas un moyen d'écrire une déclaration. C'est la pratique de la création d'une méthode/fonction/classe/etc où le type est au moins quelque PEU ambiguë. De sorte que la même méthode peut retourner un résultat si la fed, par exemple, un entier pour le paramètre 1, le même que si vous étiez à nourrir un tableau dans le même paramètre.
OriginalL'auteur Mike H.
Vous pouvez utiliser l'opérateur ternaire, sa syntaxe est
condition ? result1 : result2;
OriginalL'auteur Satpal
Juste pour le fun :
Si j'ai été accepter sur fou rire / facteur de plaisir, ce serait la réponse. 😀
Ce n'est pas seulement amusant, après tout, ça marche aussi 😀
OriginalL'auteur leaf
Voiture qui tourne dans un objet:
exemple: http://jsfiddle.net/YthH8/
Gardez à l'esprit que sont sont de nombreuses façons que vous pouvez utiliser des objets de l'héritage en JavaScript.
Café script a son propre sucre syntaxique pour l'utilisation de classes => http://coffeescript.org/#classes
red
correct?vous avez raison, j'ai oublié, je vais compléter ma réponse
OriginalL'auteur Willem D'Haeseleer
Il y a un ternar opérateur
?
utilisé la plupart du temps quand vous ne voulez pas utiliserif-else
déclaration:OriginalL'auteur Snake Eyes