Simulation de paramètres nommés dans les appels de fonction JavaScript
Dans les langages de programmation comme C#, les paramètres nommés permettent des appels de fonction clairs et concis en spécifiant des noms de paramètres aux côtés de leurs valeurs. Cependant, JavaScript ne fournit pas intrinsèquement cette fonctionnalité. Cependant, il existe des moyens d'obtenir un effet similaire.
ES2015 et versions ultérieures : déstructuration des paramètres
Avec l'introduction d'ES2015, la déstructuration des paramètres offre un mécanisme intégré pour simuler des paramètres nommés. Grâce à cette fonctionnalité, une fonction peut accepter un objet comme argument et extraire des propriétés spécifiques en tant que paramètres nommés :
function myFunction({ param1, param2 } = {}) { // ...function body... }
Les appelants peuvent ensuite transmettre un objet avec les valeurs de paramètre souhaitées :
myFunction({ param1: 70, param2: 175 });
ES5 : Function.prototype.toString et association d'objets
Dans ES5, une méthode hackish consiste à utiliser Function.prototype.toString() pour analyser la signature de la fonction et identifier les noms des paramètres. Cela permet d'associer les propriétés d'un objet aux paramètres correspondants :
var func = parameterfy(function(a, b, c) { console.log('a is ' + a, ' | b is ' + b, ' | c is ' + c); }); func(1, 2, 3); // a is 1 | b is 2 | c is 3 func(1, {b:2, c:3}); // a is 1 | b is 2 | c is 3
Cependant, cette approche présente des inconvénients :
Considérations supplémentaires
Au lieu de créer des wrappers de fonction, vous pouvez également avoir des fonctions qui acceptent une fonction et des arguments supplémentaires, ou étendre Function. prototype pour prendre en charge l'exécution de fonctions avec des paramètres nommés.
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!