Amélioration et utilisation de la fonction de conversion en casse Pascal
Maintenant que nous avons une fonction toPascalCase
opérationnelle, améliorons-la avec des fonctionnalités supplémentaires et apprenons à l'utiliser de manière pratique.
-
Ouvrez votre fichier pascalCase.js
dans l'éditeur WebIDE.
-
Modifions la fonction pour gérer mieux les cas limites. Remplacez le code existant par :
/**
* Converts a string to Pascal case.
* @param {string} str - The input string to convert.
* @returns {string} The Pascal cased string.
*/
function toPascalCase(str) {
// Handle edge cases
if (!str) return "";
if (typeof str !== "string") return "";
// Use regex to match words regardless of delimiter
const words = str.match(
/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g
);
// If no words are found, return an empty string
if (!words) {
return "";
}
// Capitalize each word and join them
return words
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
.join("");
}
// Test cases including edge cases
console.log(toPascalCase("hello world")); // "HelloWorld"
console.log(toPascalCase("")); // ""
console.log(toPascalCase(null)); // ""
console.log(toPascalCase("123_abc")); // "123Abc"
console.log(toPascalCase("UPPER_CASE_EXAMPLE")); // "UpperCaseExample"
console.log(
toPascalCase("some-mixed_string with spaces_underscores-and-hyphens")
); // "SomeMixedStringWithSpacesUnderscoresAndHyphens"
// Create a reusable utility module
module.exports = { toPascalCase };
-
Enregistrez le fichier en appuyant sur Ctrl+S.
-
Maintenant, créons un nouveau fichier pour démontrer comment utiliser notre fonction comme utilitaire dans un autre fichier. Créez un nouveau fichier en cliquant sur "File" > "New File" dans le menu supérieur.
-
Enregistrez ce fichier sous le nom useCase.js
dans le répertoire /home/labex/project
.
-
Ajoutez le code suivant à useCase.js
:
// Import the toPascalCase function from our utility file
const { toPascalCase } = require("./pascalCase");
// Example: Converting database field names to JavaScript variable names
const databaseFields = [
"user_id",
"first_name",
"last_name",
"email_address",
"date_of_birth"
];
// Convert each field name to Pascal case
const javaScriptVariables = databaseFields.map((field) => toPascalCase(field));
// Display the results
console.log("Database Fields:");
console.log(databaseFields);
console.log("\nJavaScript Variables (Pascal Case):");
console.log(javaScriptVariables);
// Example: Creating a class name from a description
const description = "user account manager";
const className = toPascalCase(description);
console.log(`\nClass name created from "${description}": ${className}`);
-
Enregistrez le fichier en appuyant sur Ctrl+S.
-
Exécutez le nouveau fichier en utilisant Node.js. Dans le terminal, tapez :
node useCase.js
Vous devriez voir une sortie similaire à :
Database Fields:
[ 'user_id', 'first_name', 'last_name', 'email_address', 'date_of_birth' ]
JavaScript Variables (Pascal Case):
[ 'UserId', 'FirstName', 'LastName', 'EmailAddress', 'DateOfBirth' ]
Class name created from "user account manager": UserAccountManager
Cela démontre une utilisation pratique de la fonction toPascalCase
pour convertir les noms de champs de base de données en noms de variables JavaScript et créer des noms de classes à partir de descriptions.
Notez que nous avons également ajouté :
- La gestion des erreurs pour les entrées nulles, indéfinies ou non de type chaîne de caractères
- L'export du module afin que la fonction puisse être importée dans d'autres fichiers
- Un exemple concret d'utilisation de la fonction
Ces améliorations rendent notre fonction toPascalCase
plus robuste et utilisable dans des applications JavaScript réelles.