ES6 - Nuevos métodos de cadena

A continuación se muestra una lista de métodos con su descripción.

No Señor Método y descripción
1 String.prototype.startsWith (searchString, position = 0)

Devuelve verdadero si el receptor comienza con searchString; la posición le permite especificar dónde comienza la cadena a verificar.

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

Devuelve verdadero si el receptor comienza con searchString; la posición le permite especificar dónde comienza la cadena a verificar.

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

Devuelve verdadero si el receptor contiene searchString; posición le permite especificar dónde comienza la cadena a buscar.

4 String.prototype.repeat (recuento)

Devuelve el receptor, tiempos de recuento concatenados.

Literales de plantilla

Template literals son cadenas literales que permiten expresiones incrustadas. Templatestringsutilice marcas inversas (``) en lugar de comillas simples o dobles. Por lo tanto, una cadena de plantilla podría escribirse como:

var greeting = `Hello World!`;

Interpolación de cadenas y literales de plantilla

Las cadenas de plantilla pueden usar marcadores de posición para la sustitución de cadenas usando la sintaxis $ {}, como se demuestra.

Example 1

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

La siguiente salida se muestra en la ejecución exitosa del código anterior.

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 siguiente salida se muestra en la ejecución exitosa del código anterior.

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 siguiente salida se muestra en la ejecución exitosa del código anterior.

Message: Hello World !!

Cadenas de varias líneas y literales de plantilla

Las cadenas de plantillas pueden contener varias líneas.

Example

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

La siguiente salida se muestra en la ejecución exitosa del código anterior.

This is 
a string 
with multiple 
line

String.raw ()

ES6 incluye la función de etiqueta String.raw para cadenas sin formato, donde las barras invertidas no tienen un significado especial. String.rawnos permite escribir la barra invertida como lo haríamos en un literal de expresión regular. Considere el siguiente ejemplo.

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

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

La siguiente salida se muestra en la ejecución exitosa del código anterior.

Hello 
World 
Hello \n World

Plantillas etiquetadas

UNA tages una función que puede interpretar y procesar una plantilla literal. Aparece una etiqueta delante de la plantilla literal. La sintaxis se muestra a continuación.

Sintaxis

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

La sintaxis de implementación de la función de etiqueta es la siguiente:

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

Ejemplo

El siguiente ejemplo define una función de etiqueta myTagFn(). Muestra los parámetros que se le pasan. Después de mostrarlo vuelveDone a la persona que llama.

<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 salida del código anterior será como se indica a continuación:

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

Ejemplo

El siguiente tag function toma una template literal y lo convierte a mayúsculas como se muestra a continuación:

<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 salida del código anterior será la que se menciona a continuación:

HELLO THIS IS TUTORIALSPOINT FROM MUMBAI

String.fromCodePoint ()

La cadena estática.fromCodePoint()El método devuelve una cadena creada mediante la secuencia especificada de puntos de código Unicode. La función arroja un RangeError si se pasa un punto de código no válido.

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

La siguiente salida se muestra en la ejecución exitosa del código anterior.

* 
AZ