Métodos para evaluar strings en ECMAScript 6

En este articulo voy a hablar de los cuatro nuevos métodos para evaluar strings en ES6, .includes(), .repeat(), .startWith() y .endsWith(). El nombrado de estos cuatro métodos es bastante intuitivo y aunque solo con leerlo podemos imaginar de que tratan, a continuación lo explicare con más detalle.

.includes()

El método .includes() llama a la cadena que queremos comparar y le pasa como parámetro la cadena que pretendemos que este incluida en la cadena inicial. Devuelve valores true o false, según el parámetro este incluido o no:

var aComparar = 'un string';
aComparar.include('string') //true

En cualquier cadena el valor vacio esta incluido:

aComparar.include('') //true

Este método fuerza a la segunda cadena a ser un string(si le pasamos 3 lo toma como ‘3’ o [1, 2] como ‘1,2’ en cambio si es un objeto lo tenemos que transformar con el método toString()).

Como segundo parámetro, al método includes(), se le puede pasar la posición a partir de la cual empezar a buscar. Cualquier posición invalida(NaN, números negativos, void) tomara como valor el 0.

.repeat()

El método repeat() construye y devuelve una nueva cadena que contiene el número especificado de copias de la cadena en la cual fue llamada, concatenados. (multiplica el string)

const actual = ‘x’.repeat(3);
assert.equal(actual, ‘xxx’);

En este enlace encontramos ejemplos de uso.

.startsWith() y .endWith()

El método startsWith indica si un string inicia con los caracteres de otro string y el método endsWith() determina cuando una cadena termina con los caracteres de otra cadena. Ambos devuelven true o false según sea el caso.

const s = ‘todo’
const starts = s.startsWith(‘t’); //true
const ends = s.endsWith(‘o’); //true
  • Permiten el uso de caracteres unicode
  • Como segundo parámetro obtienen la posición desde donde empezar la búsqueda.
  • Transfieren funcionalidades, ejemplo:
let aNumber = ‘19’;
assert.equal(startsWith(aNumber + 84, ‘1984’), true);
});

startsWith → un valor undefined es tomado como la posición 0 y si la posición es mayor que el string donde esta buscando devuelve false.

endsWith → si la posición es un número negativo devuelve `true` al buscar por un valor vacío y `false` cuando no es un valor vacío.