Fonctionnalité ES6 : Paramètres de fonction facultatifs
L'approche conventionnelle des paramètres de fonction facultatifs en JavaScript implique une vérification logique OU (||), illustrée dans l'extrait de code ci-dessous :
function myFunc(requiredArg, optionalArg){ optionalArg = optionalArg || 'defaultValue'; // Do stuff }
Bien que cette technique soit la méthode traditionnelle, elle présente certaines limites. Par exemple, si facultatifArg est passé mais est évalué comme faux, la valeur par défaut n'est pas attribuée.
Approches alternatives
Pour remédier à cette limitation, deux approches alternatives sont suggérées :
1. Vérification de type :
if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }
Cette approche consiste à vérifier si optionArg n'est pas défini et à attribuer la valeur par défaut si cette condition est remplie. Il garantit que la valeur par défaut est définie uniquement lorsque attachmentArg est absent ou lorsqu'elle est explicitement définie sur undefined.
2. Opérateur ternaire :
optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;
L'opérateur ternaire fournit une alternative concise pour gérer les paramètres facultatifs. L'expression est évaluée à la valeur par défaut si optionArg n'est pas défini ; sinon, il conserve la valeur d'origine de optionArg.
Lequel choisir ?
Les approches de vérification de type et d'opérateur ternaire offrent des solutions efficaces au problème des paramètres facultatifs. Le choix entre eux dépend des préférences personnelles et de la lisibilité du code. La syntaxe de l'opérateur ternaire est plus compacte, tandis que l'approche de vérification de type peut être plus explicite.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!