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