ES6 - Novos Métodos de String

A seguir está uma lista de métodos com suas descrições.

Sr. Não Método e Descrição
1 String.prototype.startsWith (searchString, position = 0)

Retorna verdadeiro se o receptor começar com searchString; a posição permite que você especifique onde começa a string a ser verificada.

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

Retorna verdadeiro se o receptor começar com searchString; a posição permite que você especifique onde começa a string a ser verificada.

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

Retorna verdadeiro se o receptor contém searchString; position permite que você especifique onde começa a string a ser pesquisada.

4 String.prototype.repeat (contagem)

Retorna o receptor, tempos de contagem concatenados.

Literais de modelo

Template literals são literais de string que permitem expressões incorporadas. Templatestringsuse back-ticks (``) em vez de aspas simples ou duplas. Uma string de modelo pode, portanto, ser escrita como -

var greeting = `Hello World!`;

Literais de interpolação de string e modelo

Strings de modelo podem usar espaços reservados para substituição de string usando a sintaxe $ {}, conforme demonstrado.

Example 1

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

A seguinte saída é exibida na execução bem-sucedida do código acima.

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} `);

A seguinte saída é exibida na execução bem-sucedida do código acima.

The sum of 10 and 10 is 20

Example 3: Template literals and function expression

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

A seguinte saída é exibida na execução bem-sucedida do código acima.

Message: Hello World !!

String multilinha e literais de modelo

Strings de modelo podem conter várias linhas.

Example

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

A seguinte saída é exibida na execução bem-sucedida do código acima.

This is 
a string 
with multiple 
line

String.raw ()

ES6 inclui a função de tag String.raw para strings brutas, onde as barras invertidas não têm nenhum significado especial. String.rawnos permite escrever a barra invertida como faríamos em um literal de expressão regular. Considere o seguinte exemplo.

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

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

A seguinte saída é exibida na execução bem-sucedida do código acima.

Hello 
World 
Hello \n World

Modelos etiquetados

UMA tagé uma função que pode interpretar e processar um literal de modelo. Uma tag aparece na frente do literal do modelo. A sintaxe é mostrada abaixo.

Sintaxe

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

A sintaxe de implementação da função de tag é fornecida abaixo -

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

Exemplo

O exemplo a seguir define uma função de tag myTagFn(). Ele exibe os parâmetros passados ​​para ele. Depois de exibi-lo retornaDone para o chamador.

<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>

A saída do código acima será conforme indicado abaixo -

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

Exemplo

O abaixo tag function Leva um template literal e converte para maiúsculas, conforme mostrado abaixo -

<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>

A saída do código acima será conforme mencionado abaixo -

HELLO THIS IS TUTORIALSPOINT FROM MUMBAI

String.fromCodePoint ()

A String estática.fromCodePoint()método retorna uma string criada usando a sequência especificada de pontos de código Unicode. A função lança um RangeError se um ponto de código inválido for passado.

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

A seguinte saída é exibida na execução bem-sucedida do código acima.

* 
AZ