Comment obtenir les valeurs par défaut en JavaScript
Lors de l'écriture de code JavaScript, nous définissons généralement les valeurs des paramètres des fonctions afin qu'elles puissent leur être transmises lorsque la fonction est appelée. Cependant, dans certains cas, nous pouvons souhaiter que certains paramètres aient des valeurs par défaut lorsqu'ils ne sont pas explicitement définis, ce qui peut rendre le code plus concis et plus facile à lire. Cet article explique comment définir et utiliser les valeurs par défaut en JavaScript.
Définir la valeur par défaut
Dans le passé, afin de définir la valeur par défaut d'un paramètre de fonction, nous devions généralement porter un jugement nul ou indéfini dans le corps de la fonction, puis définir manuellement une valeur par défaut. Comme indiqué ci-dessous :
function sayHello(name) { if(name === undefined) { name = "world"; } console.log("Hello, " + name + "!"); } sayHello(); // "Hello, world!" sayHello("Tom"); // "Hello, Tom!"
Si nous avons plusieurs paramètres qui doivent être définis sur les valeurs par défaut, cette approche peut facilement devenir verbeuse et difficile à maintenir. Dans ES6, nous pouvons utiliser un moyen plus pratique pour définir les valeurs par défaut.
Utiliser les valeurs par défaut
Dans ES6, nous pouvons spécifier des valeurs par défaut pour les paramètres de fonction. Cela nous permet de définir plus facilement la valeur par défaut de la fonction, tout en réduisant la quantité de code et en améliorant la lisibilité. Comme indiqué ci-dessous :
function sayHello(name="world") { console.log("Hello, " + name + "!"); } sayHello(); // "Hello, world!" sayHello("Tom"); // "Hello, Tom!"
Dans cet exemple, nous définissons une fonction sayHello et attribuons une valeur par défaut de "world" à son nom de paramètre. Lorsque la fonction ne reçoit aucun paramètre, elle utilise les valeurs par défaut et affiche "Hello, world!". Lorsque nous transmettons des paramètres à une fonction, elle utilisera la valeur que nous transmettons. Par exemple, lorsque nous transmettons Tom, elle affiche "Bonjour Tom!".
Nous pouvons également utiliser les valeurs par défaut d'autres paramètres pour définir les valeurs par défaut. Par exemple :
function sayHello(name="world",greeting=`Hello`) { console.log(`${greeting}, ${name}!`); } sayHello(); // "Hello, world!" sayHello("Tom"); // "Hello, Tom!" sayHello("Jenny", "Hi"); // "Hi, Jenny!" sayHello(undefined, "Goodbye"); // "Goodbye, world!"
Dans cet exemple, nous définissons à nouveau une fonction sayHello et spécifions les valeurs par défaut pour ses paramètres nom et message d'accueil. Lorsque nous ne transmettons pas le paramètre de salutation, il utilisera la valeur par défaut "Bonjour". Lorsque nous croisons Tom et Hi, "Salut, Tom!" est émis. Lorsque nous passons undefined et "Goodbye", la valeur par défaut sera utilisée et "Goodbye, world!" sera affiché.
Remarques sur les valeurs par défaut
Lors de l'utilisation des valeurs par défaut, vous devez faire attention aux problèmes suivants :
function getColor(color = "blue") { console.log(color); } getColor(null); // null getColor(""); // "" getColor(0); // 0
function sayHello(name = "world") { console.log(`Hello, ${arguments[0]}!`); } sayHello("Tom"); // "Hello, Tom!"
let language = "English"; function sayHello(name = "world", greeting = `Hello ${language}!`) { console.log(`${greeting}, ${name}!`); } sayHello(); // "Hello English, world!"
Conclusion
Avant ES6, définir des valeurs par défaut pour les paramètres de fonction était fastidieux et nécessitait un jugement manuel des situations nulles ou indéfinies. L'émergence d'ES6 rend la définition des valeurs par défaut des paramètres de fonction plus concise et plus facile à lire. La définition de valeurs par défaut peut rendre le code plus concis, augmenter la maintenabilité et réduire l'apparition d'erreurs. De plus, nous devons également noter que lors de l'utilisation des valeurs par défaut, les paramètres existent toujours et la valeur par défaut ne s'applique qu'aux paramètres qui n'ont pas été définis et n'a rien à voir avec d'autres fonctions ou variables globales.
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!