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