Billet du blogue

Arguments optionnels en Javascript

J’ai eu récemment à coder une fonction Javascript qui comportait un argument optionnel. Comment faire alors pour donner à cet argument une valeur par défaut?

En PHP, par exemple, on peut procéder de la manière suivante :

function centrer(&$map, $zoom=15) {
    // ...
}

En Javascript, on ne peut déclarer la valeur par défaut d’un argument dans la déclaration de la fonction. Cependant, on peut faire ceci :

function centrer(map, zoom) {
    if (!zoom) { zoom = 15; }
    zoom = (zoom) ? zoom : 15; // alternative
    // ...
}

On pourrait également utiliser la méthode extend de jQuery qui permet de compléter un objet Javascript en se basant sur un autre.

function centrer(params) {
    var defaults = { zoom: 15 };
    $.extend(defaults, params);
    // ...
}

Dans l’exemple précédent, on passerait en argument un seul et unique objet qui pourrait contenir, ou non, les propriétés map et zoom. Si la propriété zoom n’est pas dans les propriétés de l’objet fourni, elle est réglée à 15.

Pour plus d’informations au sujet des arguments en Javascript, cet article de OpenJS est très complet.

Posté le avec les tags: et .

Commentaires fermés

Les commentaires pour ce billet ont été désactivés un mois après la date de publication de ce-dernier. Vous désirez exprimer votre opinion sur ce billet malgré le fait que les commentaires aient été désactivés ? Utilisez le formulaire de contact.


Fil atom des commentaires de ce billet2 commentaires