Se pueden crear de dos maneras

var pais = "México";
var comida = new String("Ceviche");

Medir una cadena de texto

var mensaje = "hola";
console.log(mensaje.length);

Búsqueda de texto por índices y por expresiones regulares

var mensaje = "Estoy aprendiendo JavaScript y estoy aprendiendo mucho";

// indexOf
// Busca la primera incidencia y devuelve la posición en la que se encuentra
// Devuelve 6
	text = mensaje.indexOf("Aprendiendo");

// lasIndexOf
// Devuelve la última incidencia a buscar
// Devuelve 37
	text = mensaje.lastIndexOf("aprendiendo");

// search:
// Devuelve lo mismo que indexOf
	text = mensaje.search("aprendiendo");

// search | Expresión regular
	
	text = mensaje.search(/ja/);
//No encuentra incidencias porque la j es minúscula y es caseSensitive
//Si agregamos i después del /, hacemos que sea InCaseSensitive, es decir
//Que busque sea mayúscula o no

//SI CUALQUIERA DE ESTOS RETORNA -1 SIGNIFICA QUE NO ENCONTRÓ INCIDENCIAS

Búsqueda de caracteres en cadenas de texto

var mensaje = "Estoy aprendiendo JavaScript y estoy aprendiendo mucho";
var resultado;

//Match
//Para que busque una sóla iteración
resultado = mensaje.match(/aprendiendo/);
//Para que busque todas las coincidencias
resultado = mensaje.match(/aprendiendo/g);
//Lo que devuelve Match es, si encontró el resultado, en qué index del array, el string
//en sí y el length
//Para devolver lo mismo pero sin importar el case sensitive
resultado = mensaje.match(/aprendiendo/gi);

//substr
//Retorna una longitud de carácteres, del carácter 6 al carácter 11
resultado = mensaje.substr(6, 11);

//substring
//La misma función que substr pero el seguno parámetro aplica a todo el texto
//Es decir, empieza a contar desde el carácter 6 pero el segundo parámetro empieza a
//contar desde el carácter 0 hasta el carácter 17
resultado = mensaje.substring(6, 17);

//charAt
//Indica donde está el carácter que estoy buscando
resultado = mensaje.charAt(3);
//Devuelve el tercer carácter(empezando desde 0 obviamente)

Búsqueda de cadenas de texto específicas

var mensaje = "Estoy aprendiendo JavaScript";
var resultado;
//Todos estos métodos son CaseSensitive

//startsWith
//Retorna true porque encuentra en la primera palabra
resultado = mensaje.startsWith("Es");
// Podemos usar dos parámetros
resultado = mensaje.startsWith("Es", 18); 
//Para buscar el índice Es desde la línea 18

//endswith
//Devuelve true si termina con el texto indicado
resultado = mensaje.endsWith("JavaScript");

//includes
//Devuelve True porque el texto Si incluye la palabra
resultado = mensaje.includes("JavaScript");
//También podemos usar un parámetro para que empiece a buscar
resultado = mensaje.includes("Estoy", 6);
//Retorna false porque después del carácter 6 no hay coincidencias

Métodos de generación, reemplazo y separación

"use strict"
var mensaje = "Estoy aprendiendo JavaScript";
var resultado;

//repeat
resultado = mensaje.repeat(2);
//Repite el String la cantidad de veces indicada

//replace
resultado = mensaje.replace("JavaScript", "a programmar");
//Reemplaza una cadena de texto por otro

//slice
resultado = mensaje.slice(6);
//Corta el mensaje y deja desde el carácter 6 en adelante
//Podemos delimitar también el tamaño a cortar
resultado = mensaje.slice(6, mensaje.length - 5);

//split
resultado = mensaje.split();
//Genera un arreglo donde cada elemento será una palabra
//Se pasa como parámetro lo que separa al texto, es decir
//Si pasamos un parámetro que sea " " va a separar el texto en 
//arreglos empezando y terminando en los espacios

//trim
resultado = mensaje.trim();
//Elimina los espacios en blancos de antes y después de una cadena.