Maison > interface Web > js tutoriel > le corps du texte

Comment les backticks affectent-ils les appels de fonctions JavaScript et que sont les modèles balisés ?

Patricia Arquette
Libérer: 2024-11-25 03:48:12
original
743 Les gens l'ont consulté

How Do Backticks Affect JavaScript Function Calls and What are Tagged Templates?

Fonctions d'appel de backticks en JavaScript : démystifier les modèles balisés

Lors de l'exécution de code JavaScript intégrant des backticks, tel que console.log1`, certains utilisateurs ont rencontré un résultat inattendu. Ce comportement provient des modèles balisés dans ES-6, qui permettent une manipulation de chaînes personnalisée.

Comprendre les modèles balisés

Les modèles balisés sont des littéraux de modèles précédés d'une fonction spéciale, comme console.log. Ces fonctions reçoivent les valeurs analysées des chaînes de modèle ainsi que leurs homologues brutes non analysées.

Dans le cas de console.log1, la fonction de balise est console.log. Il accepte deux paramètres : les chaînes (un tableau de chaînes littérales) et les valeurs (un tableau de valeurs interpolées).

L'explication de la sortie

Quand console.log1` est exécuté, le moteur JavaScript transpile le code ES6 vers ES5. Le code transpilé ressemble à ce qui suit :

console.log(_taggedTemplateLiteralLoose(["1"], ["1"]));
Copier après la connexion

Ici, _taggedTemplateLiteralLoose est une fonction transpilée qui attribue le littéral de chaîne brut à la propriété raw du tableau de chaînes.

Le littéral de modèle balisé, donc , renvoie un tableau avec la structure suivante :

["1", { raw: ["1"] }]
Copier après la connexion
Copier après la connexion

Lorsque ce tableau est passé à console.log, le tableau lui-même est enregistré, ce qui donne le résultat observé :

["1", { raw: ["1"] }]
Copier après la connexion
Copier après la connexion

Avantages des modèles balisés

Les modèles balisés offrent plusieurs avantages par rapport à la manipulation de chaînes traditionnelle méthodes :

  • Filtrage et échappement de chaînes améliorés.
  • Chaîne de modèle interpolation avec une logique complexe.
  • Lisibilité et maintenabilité accrues du code.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal