| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/String | [Back] [Original] |
Get to know MDN better
Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.
This feature is well established and works across many devices and browser versions. Its been available across browsers since julio de 2015.
* Some parts of this feature may have varying levels of support.
El objeto String se utiliza para representar y manipular una secuencia de caracteres.
Las cadenas son tiles para almacenar datos que se pueden representar en forma de texto. Algunas de las operaciones ms utilizadas en cadenas son verificar su length, para construirlas y concatenarlas usando operadores de cadena + y +=, verificando la existencia o ubicacin de subcadenas con indexOf() o extraer subcadenas con el mtodo substring().
Las cadenas se pueden crear como primitivas, a partir de cadena literales o como objetos, usando el constructor String():
const string1 = "Una cadena primitiva";
const string2 = "Tambin una cadena primitiva";
const string3 = `Otra cadena primitiva ms`;
const string4 = new String("Un objeto String");
Las strings primitivas y los objetos string se pueden usar indistintamente en la mayora de las situaciones. Consulta "Primitivas String y objetos String" a continuacin.
Los cadena literales se pueden especificar usando comillas simples o dobles, que se tratan de manera idntica, o usando el carcter de comilla invertida `. Esta ltima forma especifica una Plantilla literal: con esta forma puedes interpolar expresiones.
Hay dos formas de acceder a un caracter individual en una cadena. La primera es con el mtodo charAt():
return "cat".charAt(1); // devuelve "a"
La otra forma (introducida en ECMAScript 5) es tratar a la cadena como un objeto similar a un arreglo, donde los caracteres individuales corresponden a un ndice numrico:
return "cat"[1]; // devuelve "a"
Cuando se usa la notacin entre corchetes para acceder a los caracteres, no se puede intentar eliminar o asignar un valor a estas propiedades. Las propiedades involucradas no se pueden escribir ni configurar. (Ve Object.defineProperty() para ms informacin).
En C, se usa la funcin strcmp() para comparar cadenas. En JavaScript, solo usas los operadores menor que y mayor que:
let a = "a";
let b = "b";
if (a < b) {
// true
console.log(a + " es menor que " + b);
} else if (a > b) {
console.log(a + " es mayor que " + b);
} else {
console.log(a + " y " + b + " son iguales.");
}
Puedes lograr un resultado similar usando el mtodo localeCompare() heredado por las instancias de String.
Ten en cuenta que a == b compara las cadenas en a y b por ser igual en la forma habitual que distingue entre maysculas y minsculas. Si deseas comparar sin tener en cuenta los caracteres en maysculas o minsculas, usa una funcin similar a esta:
function isEqual(str1, str2) {
return str1.toUpperCase() === str2.toUpperCase();
} // isEqual
En esta funcin se utilizan maysculas en lugar de minsculas, debido a problemas con ciertas conversiones de caracteres UTF-8.
String y objetos StringTen en cuenta que JavaScript distingue entre objetos String y valores de primitivas string. (Lo mismo ocurre con Booleanos y Nmeros).
Las cadenas literales (denotadas por comillas simples o dobles) y cadenas devueltas de llamadas a String en un contexto que no es de constructor (es decir, llamado sin usar la palabra clave new) son cadenas primitivas. JavaScript automticamente convierte las primitivas en objetos String, por lo que es posible utilizar mtodos del objeto String en cadenas primitivas. En contextos donde se va a invocar a un mtodo en una cadena primitiva o se produce una bsqueda de propiedad, JavaScript ajustar automticamente la cadena primitiva y llamar al mtodo o realizar la bsqueda de la propiedad.
let s_prim = "foo";
let s_obj = new String(s_prim);
console.log(typeof s_prim); // Registra "string"
console.log(typeof s_obj); // Registra "object"
Las primitivas de String y los objetos String tambin dan diferente resultado cuando se usa eval(). Las primitivas pasadas a eval se tratan como cdigo fuente; Los objetos String se tratan como todos los dems objetos, devuelven el objeto. Por ejemplo:
let s1 = "2 + 2"; // crea una string primitiva
let s2 = new String("2 + 2"); // crea un objeto String
console.log(eval(s1)); // devuelve el nmero 4
console.log(eval(s2)); // devuelve la cadena "2 + 2"
Por estas razones, el cdigo se puede romper cuando encuentra objetos String y espera una string primitiva en su lugar, aunque generalmente los autores no necesitan preocuparse por la distincin.
Un objeto String siempre se puede convertir a su contraparte primitiva con el mtodo valueOf().
console.log(eval(s2.valueOf())); // devuelve el nmero 4
Los caracteres especiales se pueden codificar mediante notacin de escape:
| Cdigo | Salida |
|---|---|
\XXX (donde XXX es de 1 a 3 dgitos octales; rango de 0-377) |
Punto de cdigo Unicode/carcter ISO-8859-1 entre U+0000 y U+00FF |
\' |
Comilla sencilla |
\" |
Comilla doble |
\\ |
Barra inversa |
\n |
Nueva lnea |
\r |
Retorno de carro |
\v |
Tabulacin vertical |
\t |
Tabulacin |
\b |
Retroceso |
\f |
Avance de pgina |
\uXXXX (donde XXXX son 4 dgitos hexadecimales; rango de 0x0000-0xFFFF) |
Unidad de cdigo UTF-16/punto de cdigo Unicode entre U+0000 y U+FFFF |
\u{X} ... \u{XXXXXX} (donde XXXXXXX es de 1 a 6 dgitos hexadecimales; rango de 0x0-0x10FFFF) |
Unidad de cdigo UTF-32/punto de cdigo Unicode entre U+0000 y U+10FFFF |
\xXX (donde XX son 2 dgitos hexadecimales; rango de 0x00-0xFF) |
Punto de cdigo Unicode/carcter ISO-8859-1 entre U+0000 y U+00FF |
A veces, tu cdigo incluir cadenas que son muy largas. En lugar de tener lneas que se prolongan interminablemente o que se ajustan segn el capricho de tu editor, es posible que desees dividir especficamente la cadena en varias lneas en el cdigo fuente sin afectar el contenido real de la cadena. hay dos maneras de conseguirlo.
Puedes usar el operador + para agregar varias cadenas juntas, as:
let longString =
"Esta es una cadena muy larga que necesita " +
"que dividimos en varias lneas porque " +
"de lo contrario, mi cdigo es ilegible.";
Puedes usar el caracter de barra invertida (\) al final de cada lnea para indicar que la cadena contina en la siguiente lnea. Asegrate de que no haya ningn espacio ni ningn otro carcter despus de la barra invertida (a excepcin de un salto de lnea) o como sangra; de lo contrario, no trabajar.
Esa forma se ve as:
let longString =
"Esta es una cadena muy larga que necesita \
que dividimos en varias lneas porque \
de lo contrario, mi cdigo es ilegible.";
Ambos mtodos anteriores dan como resultado cadenas idnticas.
String()Crea un nuevo objeto String. Realiza la conversin de tipos cuando se llama como funcin, en lugar de como constructor, lo cual suele ser ms til.
String.fromCharCode(num1 [, ...[, numN]])Devuelve una cadena creada utilizando la secuencia de valores Unicode especificada.
String.fromCodePoint(num1 [, ...[, numN]])Devuelve una cadena creada utilizando la secuencia de puntos de cdigo especificada.
String.raw()Devuelve una cadena creada a partir de una plantilla literal sin formato.
String.prototype.lengthRefleja la length de la cadena. Solo lectura.
String.prototype.charAt(index)Devuelve el caracter (exactamente una unidad de cdigo UTF-16) en el index especificado.
String.prototype.charCodeAt(index)Devuelve un nmero que es el valor de la unidad de cdigo UTF-16 en el index dado.
String.prototype.codePointAt(pos)Devuelve un nmero entero no negativo que es el valor del punto de cdigo del punto de cdigo codificado en UTF-16 que comienza en la pos especificada.
String.prototype.concat(str[, ...strN])Combina el texto de dos (o ms) cadenas y devuelve una nueva cadena.
String.prototype.includes(searchString [, position])Determina si la cadena de la llamada contiene searchString.
String.prototype.endsWith(searchString[, length])Determina si una cadena termina con los caracteres de la cadena searchString.
String.prototype.indexOf(searchValue[, fromIndex])Devuelve el ndice dentro del objeto String llamador de la primera aparicin de searchValue, o -1 si no lo encontr.
String.prototype.lastIndexOf(searchValue[, fromIndex])Devuelve el ndice dentro del objeto String llamador de la ltima aparicin de searchValue, o -1 si no lo encontr.
String.prototype.localeCompare(compareString[, locales[, options]])Devuelve un nmero que indica si la cadena de referencia compareString viene antes, despus o es equivalente a la cadena dada en el orden de clasificacin.
String.prototype.match(regexp)Se utiliza para hacer coincidir la expresin regular regexp con una cadena.
String.prototype.matchAll(regexp)Devuelve un iterador de todas las coincidencias de regexp.
String.prototype.normalize([form])Devuelve la forma de normalizacin Unicode del valor de la cadena llamada.
String.prototype.padEnd(targetLength[, padString])Rellena la cadena actual desde el final con una cadena dada y devuelve una nueva cadena de longitud targetLength.
String.prototype.padStart(targetLength[, padString])Rellena la cadena actual desde el principio con una determinada cadena y devuelve una nueva cadena de longitud targetLength.
String.prototype.repeat(count)Devuelve una cadena que consta de los elementos del objeto repetidos count veces.
String.prototype.replace(searchFor, replaceWith)Se usa para reemplazar ocurrencias de searchFor usando replaceWith. searchFor puede ser una cadena o expresin regular, y replaceWith puede ser una cadena o funcin.
String.prototype.replaceAll(searchFor, replaceWith)Se utiliza para reemplazar todas las apariciones de searchFor usando replaceWith. searchFor puede ser una cadena o expresin regular, y replaceWith puede ser una cadena o funcin.
String.prototype.search(regexp)Busca una coincidencia entre una expresin regular regexp y la cadena llamadora.
String.prototype.slice(beginIndex[, endIndex])Extrae una seccin de una cadena y devuelve una nueva cadena.
String.prototype.split([sep[, limit] ])Devuelve un arreglo de cadenas pobladas al dividir la cadena llamadora en las ocurrencias de la subcadena sep.
String.prototype.startsWith(searchString[, length])Determina si la cadena llamadora comienza con los caracteres de la cadena searchString.
String.prototype.substr()Devuelve los caracteres en una cadena que comienza en la ubicacin especificada hasta el nmero especificado de caracteres.
String.prototype.substring(indexStart[, indexEnd])Devuelve una nueva cadena que contiene caracteres de la cadena llamadora de (o entre) el ndice (o indeces) especificados.
String.prototype.toLocaleLowerCase( [locale, ...locales])Los caracteres dentro de una cadena se convierten a minsculas respetando la configuracin regional actual.Para la mayora de los idiomas, devolver lo mismo que toLowerCase().
String.prototype.toLocaleUpperCase( [locale, ...locales])Los caracteres dentro de una cadena se convierten a maysculas respetando la configuracin regional actual.Para la mayora de los idiomas, devolver lo mismo que toUpperCase().
String.prototype.toLowerCase()Devuelve el valor de la cadena llamadora convertido a minsculas.
String.prototype.toString()Devuelve una cadena que representa el objeto especificado. Redefine el mtodo Object.prototype.toString().
String.prototype.toUpperCase()Devuelve el valor de la cadena llamadora convertido a maysculas.
String.prototype.trim()Recorta los espacios en blanco desde el principio y el final de la cadena. Parte del estndar ECMAScript 5.
String.prototype.trimStart()Recorta los espacios en blanco desde el principio de la cadena.
String.prototype.trimEnd()Recorta los espacios en blanco del final de la cadena.
String.prototype.valueOf()Devuelve el valor primitivo del objeto especificado. Redefine el mtodo Object.prototype.valueOf().
String/Symbol.iteratorDevuelve un nuevo objeto Iterator que itera sobre los puntos de cdigo de un valor de cadena, devolviendo cada punto de cdigo como un valor de cadena.
Nota: Desaprobado. Evita estos mtodos. Son de uso limitado, ya que proporcionan solo un subconjunto de las etiquetas y atributos HTML disponibles.
String.prototype.anchor()<a name="name"> (hipertexto destino)
String.prototype.big()<big>String.prototype.blink()<blink>
String.prototype.bold()<b>String.prototype.fixed()<tt>String.prototype.fontcolor()String.prototype.fontsize()String.prototype.italics()<i>String.prototype.link()<a href="url"> (enlace a URL)
String.prototype.small()<small>String.prototype.strike()<strike>String.prototype.sub()<sub>String.prototype.sup()<sup>Es posible usar String como una alternativa ms confiable de toString(), ya que funciona cuando se usa en null, undefined y en smbolos. Por ejemplo:
let outputStrings = [];
for (let i = 0, n = inputValues.length; i < n; ++i) {
outputStrings.push(String(inputValues[i]));
}
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-string-objects |
RegExpStringStringView una representacin similar a C de cadenas basada en arreglos tipadosThis page was last modified on 29 may 2026 by MDN contributors.
StringString.prototype.anchor()at()String.prototype.big()String.prototype.blink()String.prototype.bold()String.prototype.charAt()String.prototype.charCodeAt()String.prototype.codePointAt()String.prototype.concat()String.prototype.endsWith()String.prototype.fixed()String.prototype.fontcolor()String.prototype.fontsize()String.prototype.includes()String.prototype.indexOf()isWellFormed()String.prototype.italics()String.prototype.lastIndexOf()String.prototype.link()String.prototype.localeCompare()String.prototype.match()String.prototype.matchAll()String.prototype.normalize()padEnd()String.prototype.padStart()String.prototype.repeat()String.prototype.replace()String.prototype.replaceAll()String.prototype.search()String.prototype.slice()String.prototype.small()String.prototype.split()String.prototype.startsWith()String.prototype.strike()String.prototype.sub()String.prototype.substr()String.prototype.substring()String.prototype.sup()String.prototype.toLocaleLowerCase()String.prototype.toLocaleUpperCase()String.prototype.toLowerCase()String.prototype.toString()String.prototype.toUpperCase()toWellFormed()String.prototype.trim()String.prototype.trimEnd()trimStart()String.prototype.valueOf()[Symbol.iterator]()Object/FunctionYour blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |