Artículo original escrito por Jessica Wilkins
Artículo original JavaScript String Contains – How to use JS .includes()
Traducido y adaptado por Fernando Cañas

En JavaScript puedes usar el método .includes() para ver si una cadena (string) existe dentro de otra. Pero, ¿cómo funciona realmente?

En este artículo te presentaré algunos ejemplos en código sobre el método de cadenas en JavaScript llamado .includes().

Sintaxis básica de .includes()

La siguiente es la sintaxis básica del método includes():

str.includes(search-string, optional-position)

El parámetro search-string es la cadena que estás buscando dentro de una cadena a la que hace referencia la variable str.

El parámetro position es un número opcional para indicar a partir de cuál posición de str queremos buscar nuestra cadena. Si se omite este parámetro se asume un valor por defecto de cero.

Si el valor de search-string es encontrado, obtendremos un valor true como retorno de la función. En caso contrario obtendremos un valor false.

Código de ejemplo para el método .includes()

En este primer ejemplo tenemos una oración: "I love freeCodeCamp". Queremos saber si la palabra "love" está incluida en esa oración.

En el código, str sería igual a la cadena "I love freeCodeCamp" y la palabra a buscar, contenida en search-string, sería "love".

"I love freeCodeCamp".includes("love")

Dado que la palabra "love" sí está incluida dentro de la cadena str, entonces el código retorna el valor true.

Screen-Shot-2021-11-04-at-9.35.42-PM

¿Es el método .includes() sensible a las mayúsculas y minúsculas?

Si modificamos la cadena str al valor "I LOVE freeCodeCamp" y el término a buscar, search-string, sigue siendo "love", entonces el valor que retorna la función es false.

"I LOVE freeCodeCamp".includes('love')
Screen-Shot-2021-11-04-at-9.40.56-PM

Es false porque el método .includes() es sensible a las mayúsculas y minúsculas. "LOVE" no es lo mismo que "love".

Cómo usar el parámetro opcional de posición

Vamos a modificar nuestro ejemplo para usar el parámetro de posición. Ahora queremos validar si "love" se encuentra dentro de la cadena "I love freeCodeCamp" cuando la búsqueda empieza en la posición 1.

Recuerda que las cadenas tienen una indexación basada en el número cero, lo que significa que la primera letra, "I", tiene un índice de cero.

Nuestro código retornará true debido a que cuando empieza a buscar a partir de la posición 1, la palabra "love" no aparece sino hasta la posición 2, así que está completamente contenida dentro del rango de la cadena en el que estamos buscando.

La cadena, contando a partir de la posición 1 y yendo hasta el final, incluye estos caracteres y espacios:

" love freeCodeCamp"

Recuerda que los espacios en las cadenas reciben su propio índice.

Así luciría nuestro código si usamos el parámetro de posición:

"I love freeCodeCamp".includes('love', 1)
Screen-Shot-2021-11-04-at-9.55.34-PM

Si cambiamos el parámetro de posición al valor 3, entonces el valor retornado por la función es false.

"I love freeCodecamp".includes('love', 3)
Screen-Shot-2021-11-04-at-10.06.30-PM

La función retorna false porque la posición 3 es la letra "o".

La cadena, contando a partir de la posición 3 y yendo hasta el final, incluye estos caracteres y espacios:

"ove freeCodeCamp"

Puedes ver que la palabra "love" no se encuentra completa dentro de esta cadena.

Conclusión

En JavaScript puedes usar el método .includes() para ver si una cadena se encuentra dentro de otra.

Esta es la sintaxis básica del método .includes():

str.includes(search-string, optional-position)

Si el término de búsqueda (search-string) es encontrado, la función retorna el valor true. En caso contrario retorna el valor false.

El método .includes() es sensible a mayúsculas y minúsculas, lo que significa que si el término de búsqueda (search-string) no coincide exactamente en este sentido con parte del contenido de la cadena en la que estamos buscando (str), el resultado será un valor false como retorno del método.

El parámetro de posición (position) es un número opcional que corresponde al índice a partir de cuál empezar a buscar en str. Si se omite este parámetro entonces el valor por defecto es cero.

Espero que hayas disfrutado este artículo sobre el método .includes(). Te deseo la mejor de las suertes en tu aprendizaje de JavaScript.