\\';const sanitized = escapeHTML`User input: ${userInput}`;console.log(sanitized); // Output: \\\"User input: \\\"

Conclusion

Les littéraux de modèle balisés fournissent un outil polyvalent pour la manipulation dynamique de chaînes en JavaScript. Ils peuvent simplifier des tâches telles que l'internationalisation et le formatage de chaînes personnalisé, conduisant à un code plus expressif et plus maintenable.

","image":"http://www.luping.net/uploads/20241007/17283092466703e7fece88e.jpg","datePublished":"2024-11-08T07:21:58+08:00","dateModified":"2024-11-08T07:21:58+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comprendre les littéraux de modèles balisés en JavaScript

Comprendre les littéraux de modèles balisés en JavaScript

Publié le 2024-11-08
Parcourir:799

Understanding Tagged Template Literals in JavaScript

Que sont les littéraux de modèle balisés ?

Un littéral de modèle balisé implique un littéral de modèle préfixé par une fonction, appelée balise. Cette fonction peut traiter et manipuler le contenu du littéral. Voici un exemple simple :

function tag(strings, ...values) {
    console.log(strings);
    console.log(values);
    return 'Processed string';
}

const name = 'Alice';
const greeting = tag`Hello, ${name}! How are you?`;
console.log(greeting);

Cas d'utilisation des littéraux de modèles balisés

  1. Internationalisation (i18n)

Les littéraux de modèle balisés peuvent traduire dynamiquement des chaînes en fonction des paramètres régionaux de l'utilisateur. Voici un exemple utilisant le japonais :

function i18n(strings, ...values) {
    const translations = {
        'Hello, ': 'こんにちは、',
        '! How are you?': '!元気ですか?',
    };

    return strings.reduce((result, str, i) => result   translations[str]   (values[i] || ''), '');
}

const name = 'アリス';
const greeting = i18n`Hello, ${name}! How are you?`;
console.log(greeting); // Output: "こんにちは、アリス!元気ですか?"

2. Formatage de chaîne personnalisé

Ils peuvent également implémenter une logique de formatage personnalisée, telle que l'échappement du HTML.

function escapeHTML(strings, ...values) {
    const escape = (str) => str.replace(/&/g, '&').replace(/, '<').replace(/>/g, '>');
    return strings.reduce((result, str, i) => result   str   escape(values[i] || ''), '');
}

const userInput = '';
const sanitized = escapeHTML`User input: ${userInput}`;
console.log(sanitized); // Output: "User input: <script>alert("XSS")</script>"

Conclusion

Les littéraux de modèle balisés fournissent un outil polyvalent pour la manipulation dynamique de chaînes en JavaScript. Ils peuvent simplifier des tâches telles que l'internationalisation et le formatage de chaînes personnalisé, conduisant à un code plus expressif et plus maintenable.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/elukuro/understanding-tagged-template-literals-in-javascript-4m4p?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3