JS Mystery : Backticks (…) Invocation de fonctions
Dans Google Chrome, lors de l'exécution de console.log1, une sortie similaire à console.log1 ["1", raw: Array[1]]` est produit, suscitant des questions sur le comportement énigmatique des backticks dans l'appel des fonctions et sur la nature du tableau "brut".
Pour percer ce mystère, nous plongeons dans le monde des modèles balisés ES-6. Ces fonctions acceptent les valeurs analysées des chaînes de modèles et des valeurs séparées, permettant un post-traitement personnalisé. Dans le cas de console.log1, la fonction de marquage reçoit la valeur "1", qui est ensuite ajoutée sous la forme ["1", raw: Array[1]]` et ensuite imprimée.
Dans les coulisses , Babel transpile le code ES-6 sous une forme acceptée par les navigateurs avant de transmettre la valeur balisée à console.log. Ce processus implique la transpilation de :
_taggedTemplateLiteralLoose( ["1"], ["1"] );
Le résultat de cette transpilation est ensuite transmis à console.log, qui génère le tableau, expliquant la présence à la fois de "1" et de raw : Array[1].
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!