En JavaScript, il est possible d'attribuer des valeurs par défaut aux paramètres de fonction, permettant des arguments facultatifs. Cette fonctionnalité a été introduite dans ES6/ES2015. Pour définir une valeur de paramètre par défaut, attribuez simplement la valeur souhaitée au paramètre dans la déclaration de la fonction, comme indiqué ci-dessous :
function read_file(file, delete_after = false) { // Code }
Dans ce cas, le paramètre delete_after a une valeur par défaut de false. Si la fonction est appelée sans spécifier de valeur pour le paramètre delete_after, la valeur par défaut sera utilisée. Si, toutefois, une valeur est transmise pour ce paramètre, la valeur transmise remplacera la valeur par défaut.
Avant ES6
Avant l'introduction des paramètres par défaut dans ES6, les développeurs ont utilisé diverses méthodes pour simuler ce comportement. Une approche courante consistait à utiliser l'opérateur typeof pour vérifier si un paramètre était défini et attribuer une valeur par défaut en conséquence. Voici un exemple :
function foo(a, b) { a = typeof a !== 'undefined' ? a : 42; b = typeof b !== 'undefined' ? b : 'default_b'; ... }
Déstructuration des paramètres par défaut
Dans ES6, la déstructuration peut également être utilisée pour simuler les valeurs par défaut des paramètres nommés. En attribuant un objet avec des valeurs par défaut à un paramètre, vous pouvez fournir des arguments facultatifs. Prenons l'exemple suivant :
function myFor({ start = 5, end = 1, step = -1 } = {}) { // Use the variables `start`, `end` and `step` here ··· } // Sample calls myFor({ start: 3, end: 0 }); myFor(); // Without any parameters
Dans cet exemple, si la fonction myFor est appelée sans arguments, les valeurs par défaut pour start, end et step seront utilisées. Alternativement, si des valeurs spécifiques sont fournies pour ces paramètres lors de l'appel de fonction, elles remplaceront les valeurs par défaut.
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!