ES6 - Nouvelles méthodes de chaîne

Voici une liste de méthodes avec leur description.

Sr.Non Méthode et description
1 String.prototype.startsWith (chaîne de recherche, position = 0)

Renvoie true si le récepteur commence par searchString; la position vous permet de spécifier où commence la chaîne à vérifier.

2 String.prototype.endsWith (searchString, endPosition = searchString.length)

Renvoie true si le récepteur commence par searchString; la position vous permet de spécifier où commence la chaîne à vérifier.

3 String.prototype.includes (searchString, position = 0)

Renvoie true si le récepteur contient searchString; position vous permet de spécifier où commence la chaîne à rechercher.

4 String.prototype.repeat (nombre)

Renvoie le récepteur, comptage concaténé fois.

Littéraux de modèle

Template literals sont des chaînes littérales qui autorisent les expressions incorporées. Templatestringsutilisez des graduations inverses (``) plutôt que des guillemets simples ou doubles. Une chaîne de modèle pourrait donc être écrite comme -

var greeting = `Hello World!`;

Interpolation de chaîne et littéraux de modèle

Les chaînes de modèle peuvent utiliser des espaces réservés pour la substitution de chaînes en utilisant la syntaxe $ {}, comme illustré.

Example 1

var name = "Brendan"; 
console.log('Hello, ${name}!');

La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.

Hello, Brendan!

Example 2: Template literals and expressions

var a = 10; 
var b = 10; 
console.log(`The sum of ${a} and ${b} is  ${a+b} `);

La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.

The sum of 10 and 10 is 20

Example 3: Template literals and function expression

function fn() { return "Hello World"; } 
console.log(`Message: ${fn()} !!`);

La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.

Message: Hello World !!

Chaînes multilignes et littéraux de modèle

Les chaînes de modèle peuvent contenir plusieurs lignes.

Example

var multiLine = `
   This is 
   a string 
   with multiple 
   lines`; 
console.log(multiLine)

La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.

This is 
a string 
with multiple 
line

String.raw ()

ES6 inclut la fonction de balise String.raw pour les chaînes brutes, où les barres obliques inverses n'ont pas de signification particulière. String.rawnous permet d'écrire la barre oblique inverse comme nous le ferions dans un littéral d'expression régulière. Prenons l'exemple suivant.

var text =`Hello \n World` 
console.log(text)  

var raw_text = String.raw`Hello \n World ` 
console.log(raw_text)

La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.

Hello 
World 
Hello \n World

Modèles balisés

UNE tagest une fonction qui peut interpréter et traiter un littéral de modèle. Une balise apparaît devant le littéral du modèle. La syntaxe est indiquée ci-dessous.

Syntaxe

let output_fromTag = tagFunction `Template literal with ${variable1} , ${variable2}`

La syntaxe d'implémentation de la fonction de balise est donnée ci-dessous -

function tagFunction(literals,...variable_values){
   //process
   return "some result"
}

Exemple

L'exemple suivant définit une fonction de balise myTagFn(). Il affiche les paramètres qui lui sont passés. Après l'affichage, il revientDone à l'appelant.

<script>
   function myTagFn(literals,...values){
      console.log("literal values are");
      for(let c of literals){
         console.log(c)
      }

      console.log("variable values are ");
      for(let c of values){
         console.log(c)
      }

      return "Done"
   }
   let company = `TutorialsPoint`
   let company_location = `Mumbai`
   let result = myTagFn `Hello this is ${company} from ${company_location}`

   console.log(result)

</script>

La sortie du code ci-dessus sera comme indiqué ci-dessous -

//literal
literal values are
Hello this is
from
//values
variable values are
TutorialsPoint
Mumbai
Done

Exemple

Le dessous tag function prend un template literal et le convertit en majuscules comme indiqué ci-dessous -

<script>
   function convertToUpperTagFn(literals, ...values) {
      let result = "";
      for (let i = 0; i < literals.length; i++) {
         result += literals[i];
         if (i < values.length) {
            result += values[i];
         }
      }
      return result.toUpperCase();
   }
   let company = `TutorialsPoint`
   let company_location = `Mumbai`
   let result = convertToUpperTagFn `Hello this is ${company} from ${company_location}`

   console.log(result)

</script>

La sortie du code ci-dessus sera comme mentionné ci-dessous -

HELLO THIS IS TUTORIALSPOINT FROM MUMBAI

String.fromCodePoint ()

La chaîne statique.fromCodePoint()renvoie une chaîne créée à l'aide de la séquence spécifiée de points de code unicode. La fonction lève une RangeError si un point de code non valide est passé.

console.log(String.fromCodePoint(42))        
console.log(String.fromCodePoint(65, 90))

La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.

* 
AZ