Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    View Cyril Durand's profile on LinkedIn

    hit counters

L'operateur || en JavaScript - définir une valeur par défaut

L'opérateur || permet de faire un ou logique dans une condition :

if(true || false) ...

Ce que l'on sait moins c'est que cet opérateur peut aussi servir à donner une valeur par défaut. Dans mon explication de l'instruction !! (double négation) je vous ai expliqué que certaines valeurs retournent false :

var falses = [ false, undefined, // valeur retourné lorsqu'on tente d'accéder à une variable/propriété inexistante null, 0, '' ];

En fait l'opérateur || retourne ce qui n'est pas faux entre deux valeurs ; cela peut être true mais aussi n'importe quelle valeur qui ne retourne pas false.

On peut ainsi utiliser cet opérateur pour assigner des valeurs par défaut :

var setValue = function(value){ value = value || 'ok'; Sys.Debug.trace(value); } setValue('pouet') // ==> pouet setValue(null) // ==> ok setValue() // ==> ok car le paramètre vaudra undefined donc sera évalué à false

Attention false, '', 0 et null sont évalué à false. Cet astuce peut donc causer des bugs dans certains cas, à utiliser avec précautions.

setValue(false) // ==> ok setValue('') // ==> ok setValue(0) // ==> ok

A noter que l'on peut également chainer cet opérateur :

var fnc = function(val1, val2, val3){ var val = val1 || val2 || val3; Sys.Debug.trace(val); }

La première valeur correcte sera alors retenue.

Posted: jeudi 31 janvier 2008 14:46 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Disparition de variables de session PHP après une redirection ? par MadMatt le il y a 9 heures et 22 minutes

- [MOSS 2007] Publier ses formulaires InfoPath via feature par Adrien Siffermann le il y a 12 heures et 29 minutes

- Imagine Cup 2008 - Paris - Les résultats par TheSaib .NET blog le il y a 13 heures et 51 minutes

- L'Egypte accueille Imagine Cup 2009 par Code is poetry le il y a 14 heures et 3 minutes

- PowerShell : Mise en ligne de fonctions intéressantes pour SharePoint par Blog Technique de Romelard Fabrice le il y a 15 heures et 10 minutes

- Raccourcis clavier et CRM 4 par Clark, C#, MSCRM, SBS le il y a 19 heures et 16 minutes

- [Silverlight] Comment échanger des données entre une application Silverlight et une page ASP.NET via cookies ? par Thomas Lebrun le il y a 19 heures et 52 minutes

- SharePoint 2007 : Trouver les fichiers CheckOut dans une librairie de document par Philippe Sentenac [MVP SharePoint] le il y a 22 heures et 20 minutes

- [Open XML] Travailler avec Open XML : Linq To XML (Partie 2 - Requêtes/XPath) par Julien Chable le 07-08-2008, 02:05

- [Open XML] Travailler avec Open XML : Linq To XML (Partie 1 - Namespace) par Julien Chable le 07-08-2008, 00:44